Class: DataShift::ContextFactory
- Inherits:
-
Object
- Object
- DataShift::ContextFactory
- Defined in:
- lib/datashift/context_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.
24 25 26 |
# File 'lib/datashift/context_factory.rb', line 24 def config @config end |
Class Method Details
.clear_populators ⇒ Object
Clear out map of operators to populator Class
27 28 29 |
# File 'lib/datashift/context_factory.rb', line 27 def self.clear_populators populators.clear end |
.configure(load_object_class, yaml_file) ⇒ Object
Options :
formatter
populator
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/datashift/context_factory.rb', line 40 def self.configure(load_object_class, yaml_file) @config = YAML.load( ERB.new( IO.read(yaml_file) ).result ) @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 if @config[:datashift_populators] end |
.get_populator(method_binding) ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/datashift/context_factory.rb', line 78 def self.get_populator(method_binding) if(populators.key?(method_binding.operator)) return populators[method_binding.operator].new end unless method_binding.nil? || method_binding.invalid? global_populator_class.new end |
.populators ⇒ Object
Return map of operators to populator Class
32 33 34 |
# File 'lib/datashift/context_factory.rb', line 32 def self.populators @populators ||= {} end |
.set_populator(method_binding, klass) ⇒ Object
73 74 75 76 |
# File 'lib/datashift/context_factory.rb', line 73 def self.set_populator(method_binding, klass) operator = method_binding.is_a?(DataShift::MethodBinding) ? method_binding.operator : method_binding populators[operator] = klass end |