Class: Kiba::Extend::Transforms::Prepend::ToFieldValue
- Inherits:
-
Object
- Object
- Kiba::Extend::Transforms::Prepend::ToFieldValue
- Includes:
- MultivalPlusDelimDeprecatable
- Defined in:
- lib/kiba/extend/transforms/prepend/to_field_value.rb
Overview
Adds the specified value to the specified field
If target field value is blank, it is left blank
Instance Method Summary collapse
-
#initialize(field:, value:, multival: omitted = true, delim: nil) ⇒ ToFieldValue
constructor
A new instance of ToFieldValue.
-
#process(row) ⇒ Object
Methods included from MultivalPlusDelimDeprecatable
Constructor Details
#initialize(field:, value:, multival: omitted = true, delim: nil) ⇒ ToFieldValue
Returns a new instance of ToFieldValue.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/kiba/extend/transforms/prepend/to_field_value.rb', line 59 def initialize(field:, value:, multival: omitted = true, delim: nil) @field = field @value = value @multival = set_multival(multival, omitted, self) if delim.nil? msg = "If you are expecting Kiba::Extend.delim to be used as "\ "default delimiter, please pass the `delim` explicitly. In "\ "a future release of kiba-extend, the `delim` value will "\ "no longer default to Kiba::Extend.delim." warn("#{Kiba::Extend.warning_label}:\n"\ " #{self.class}: #{msg}") end @delim = delim || Kiba::Extend.delim end |
Instance Method Details
#process(row) ⇒ Object
76 77 78 79 80 81 82 83 84 85 |
# File 'lib/kiba/extend/transforms/prepend/to_field_value.rb', line 76 def process(row) fieldval = row.fetch(field, nil) return row if fieldval.blank? fieldvals = multival ? fieldval.split(delim) : [fieldval] row[field] = fieldvals.map do |fieldval| "#{value}#{fieldval}" end.join(delim) row end |