Class: Remi::Transform::Concatenate

Inherits:
Remi::Transform show all
Defined in:
lib/remi/transform.rb

Overview

Public: Transform used to concatenate a list of values, joined by a delimiter.

delimiter - The delimiter used between values in the list (default: ”).

Examples:

Concatenate.new('-').to_proc.call('a', 'b', 'c') # => "a-b-c"

Instance Attribute Summary

Attributes inherited from Remi::Transform

#multi_args, #source_metadata, #target_metadata

Instance Method Summary collapse

Methods inherited from Remi::Transform

#call, #to_proc

Constructor Details

#initialize(delimiter = '', *args, **kargs, &block) ⇒ Concatenate

Returns a new instance of Concatenate.



132
133
134
135
136
# File 'lib/remi/transform.rb', line 132

def initialize(delimiter='', *args, **kargs, &block)
  super
  @multi_args = true
  @delimiter = delimiter
end

Instance Method Details

#transform(row) ⇒ Object



138
139
140
141
# File 'lib/remi/transform.rb', line 138

def transform(row)
  row = SourceToTargetMap::Row[row]
  row.each_source.map { |key, value| value.blank? ? nil : value }.compact.join(@delimiter)
end