Class: Crowdkit::API::Factory
- Inherits:
-
Object
- Object
- Crowdkit::API::Factory
- Defined in:
- lib/crowdkit/api/factory.rb
Class Method Summary collapse
-
.convert_to_constant(classes) ⇒ Object
Convert name to constant.
-
.create_instance(klass, options, &block) ⇒ Object
Passes configuration options to instantiated class.
-
.new(klass, options = {}, &block) ⇒ Object
Instantiates a new CrowdFlower api object.
Class Method Details
.convert_to_constant(classes) ⇒ Object
Convert name to constant
21 22 23 24 25 |
# File 'lib/crowdkit/api/factory.rb', line 21 def self.convert_to_constant(classes) classes.split('::').inject(Crowdkit) do |constant, klass| constant.const_get klass end end |
.create_instance(klass, options, &block) ⇒ Object
Passes configuration options to instantiated class
14 15 16 17 |
# File 'lib/crowdkit/api/factory.rb', line 14 def self.create_instance(klass, , &block) .symbolize_keys! convert_to_constant(klass.to_s).new , &block end |
.new(klass, options = {}, &block) ⇒ Object
Instantiates a new CrowdFlower api object
7 8 9 10 |
# File 'lib/crowdkit/api/factory.rb', line 7 def self.new(klass, ={}, &block) return create_instance(klass, , &block) if klass raise ArgumentError, 'must provide API class to be instantiated' end |