class Bogus::ConvertsNameToClass

Public Instance Methods

convert(name) click to toggle source
# File lib/bogus/fakes/converts_name_to_class.rb, line 9
def convert(name)
  class_name = camelize(name)
  klass = nil

  @search_modules.each do |mod|
    klass = mod.const_get(class_name) rescue nil
    break if klass
  end

  raise CanNotFindClass.new("Can not locate class for name: #{name}") unless klass

  klass
end

Private Instance Methods

camelize(symbol) click to toggle source
# File lib/bogus/fakes/converts_name_to_class.rb, line 25
def camelize(symbol)
  string = symbol.to_s
  string = string.gsub(/_\w/) { |match| match[1].upcase }
  return string.gsub(/^\w/) { |match| match.upcase }
end