Class: BasicAssumption::DefaultAssumption::ClassResolver

Inherits:
Object
  • Object
show all
Defined in:
lib/basic_assumption/default_assumption/class_resolver.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ClassResolver

Returns a new instance of ClassResolver.



7
8
9
# File 'lib/basic_assumption/default_assumption/class_resolver.rb', line 7

def initialize(name)
  @name = name
end

Class Method Details

.instance(name, *args) ⇒ Object



4
5
6
# File 'lib/basic_assumption/default_assumption/class_resolver.rb', line 4

def self.instance(name, *args)
  new(name).instance(*args)
end

Instance Method Details

#camelize(name) ⇒ Object



13
14
15
# File 'lib/basic_assumption/default_assumption/class_resolver.rb', line 13

def camelize(name)
  name.to_s.gsub(/(?:^|_)(.)/) { "#{$1.upcase}" }
end

#constantize(name) ⇒ Object



16
17
18
19
20
# File 'lib/basic_assumption/default_assumption/class_resolver.rb', line 16

def constantize(name)
  namespace = BasicAssumption::DefaultAssumption
  namespace.const_missing(name) unless namespace.const_defined? name
  namespace.const_get(name)
end

#instance(*args) ⇒ Object



10
11
12
# File 'lib/basic_assumption/default_assumption/class_resolver.rb', line 10

def instance(*args)
  constantize(camelize(@name)).new(*args)
end