Class: Kiba::Extend::Transforms::Merge::IncrementingField
- Inherits:
-
Object
- Object
- Kiba::Extend::Transforms::Merge::IncrementingField
- Defined in:
- lib/kiba/extend/transforms/merge/incrementing_field.rb
Overview
Note:
This transform runs in memory, so for very large sources, it may take a long time or fail.
Merges numeric incrementing value into target field
Instance Method Summary collapse
-
#close ⇒ Object
-
#initialize(target:, start_val: 1, increment_size: 1) ⇒ IncrementingField
constructor
A new instance of IncrementingField.
-
#process(row) ⇒ Object
Constructor Details
#initialize(target:, start_val: 1, increment_size: 1) ⇒ IncrementingField
Returns a new instance of IncrementingField.
60 61 62 63 64 65 |
# File 'lib/kiba/extend/transforms/merge/incrementing_field.rb', line 60 def initialize(target:, start_val: 1, increment_size: 1) @target = target @counter = start_val @increment_size = increment_size @rows = [] end |
Instance Method Details
#close ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/kiba/extend/transforms/merge/incrementing_field.rb', line 73 def close rows.each do |row| row[target] = counter @counter += increment_size yield row end end |
#process(row) ⇒ Object
68 69 70 71 |
# File 'lib/kiba/extend/transforms/merge/incrementing_field.rb', line 68 def process(row) rows << row nil end |