Class: BasicAssumption::DefaultAssumption::ClassResolver
- Inherits:
-
Object
- Object
- BasicAssumption::DefaultAssumption::ClassResolver
- Defined in:
- lib/basic_assumption/default_assumption/class_resolver.rb
Overview
:nodoc:
Class Method Summary collapse
Instance Method Summary collapse
- #camelize(name) ⇒ Object
- #constantize(name) ⇒ Object
-
#initialize(name) ⇒ ClassResolver
constructor
A new instance of ClassResolver.
- #instance(*args) ⇒ Object
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 |