Class: DataShift::PopulatorFactory
- Inherits:
-
Object
- Object
- DataShift::PopulatorFactory
- Defined in:
- lib/datashift/populators/populator_factory.rb
Class Attribute Summary collapse
-
.config ⇒ Object
Returns the value of attribute config.
- .global_populator_class ⇒ Object
Class Method Summary collapse
-
.clear_populators ⇒ Object
Clear out map of operators to populator Class.
-
.configure(load_object_class, yaml_file) ⇒ Object
Options : formatter populator.
- .get_populator(method_binding) ⇒ Object
-
.populators ⇒ Object
Return map of operators to populator Class.
- .set_populator(method_binding, klass) ⇒ Object
Class Attribute Details
.config ⇒ Object
Returns the value of attribute config.
10 11 12 |
# File 'lib/datashift/populators/populator_factory.rb', line 10 def config @config end |
Class Method Details
.clear_populators ⇒ Object
Clear out map of operators to populator Class
13 14 15 |
# File 'lib/datashift/populators/populator_factory.rb', line 13 def self.clear_populators populators.clear end |
.configure(load_object_class, yaml_file) ⇒ Object
Options :
formatter
populator
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/datashift/populators/populator_factory.rb', line 26 def self.configure(load_object_class, yaml_file) @config = Configuration.parse_yaml(yaml_file) if @config[:datashift_populators] @config[:datashift_populators].each do |_operator, type| populator = ::Object.const_get(type).new populator.configure_from(load_object_class, yaml_file) populators[@config[:datashift_populators]] end end end |
.get_populator(method_binding) ⇒ Object
66 67 68 69 70 71 72 73 |
# File 'lib/datashift/populators/populator_factory.rb', line 66 def self.get_populator(method_binding) unless method_binding.nil? || method_binding.invalid? return populators[method_binding.operator].new if populators.key?(method_binding.operator) end global_populator_class.new end |
.populators ⇒ Object
Return map of operators to populator Class
18 19 20 |
# File 'lib/datashift/populators/populator_factory.rb', line 18 def self.populators @populators ||= {} end |
.set_populator(method_binding, klass) ⇒ Object
61 62 63 64 |
# File 'lib/datashift/populators/populator_factory.rb', line 61 def self.set_populator(method_binding, klass) operator = method_binding.is_a?(DataShift::MethodBinding) ? method_binding.operator : method_binding populators[operator] = klass end |