Class: Remi::DataTarget
- Inherits:
-
DataSubject
- Object
- DataSubject
- Remi::DataTarget
- Defined in:
- lib/remi/data_subject.rb
Overview
The DataTarget is a DataSubject meant to load data from an associated dataframe into one or more target systems.
Instance Attribute Summary
Attributes inherited from DataSubject
Instance Method Summary collapse
-
#encoder(obj = nil) ⇒ Object
The encoder set for this data source.
-
#initialize(*args, **kargs, &block) ⇒ DataTarget
constructor
A new instance of DataTarget.
-
#load ⇒ true
Loads data to all targets.
-
#load! ⇒ nil
Performs the load operation, regardless of whether it has already executed.
-
#loader(obj) ⇒ Array
The full list of loaders.
-
#loaders ⇒ Array
The list of loaders associated with the this data target.
Methods inherited from DataSubject
#df, #df=, #df_type, #dsl_eval, #dsl_eval!, #enforce_types, #field_symbolizer, #fields, #fields=
Constructor Details
#initialize(*args, **kargs, &block) ⇒ DataTarget
Returns a new instance of DataTarget.
239 240 241 242 243 |
# File 'lib/remi/data_subject.rb', line 239 def initialize(*args, **kargs, &block) @encoder = Encoder::None.new @encoder.context = self super end |
Instance Method Details
#encoder(obj = nil) ⇒ Object
Returns the encoder set for this data source.
247 248 249 250 251 252 |
# File 'lib/remi/data_subject.rb', line 247 def encoder(obj = nil) return @encoder unless obj obj.context = self @encoder = obj end |
#load ⇒ true
Loads data to all targets. This is automatically called after all transforms have executed, but could also get called manually. The actual load operation is only executed if hasn't already.
270 271 272 273 274 275 276 |
# File 'lib/remi/data_subject.rb', line 270 def load return nil if @loaded || df.size == 0 dsl_eval if @block load! @loaded = true end |
#load! ⇒ nil
Performs the load operation, regardless of whether it has already executed.
282 283 284 285 |
# File 'lib/remi/data_subject.rb', line 282 def load! loaders.each { |l| l.load encoded_dataframe } true end |
#loader(obj) ⇒ Array
Returns the full list of loaders.
261 262 263 |
# File 'lib/remi/data_subject.rb', line 261 def loader(obj) loaders << obj unless loaders.include? obj end |
#loaders ⇒ Array
Returns the list of loaders associated with the this data target.
255 256 257 |
# File 'lib/remi/data_subject.rb', line 255 def loaders @loaders ||= [] end |