class Cranium::TransformationRecord

Attributes

data[R]

Public Class Methods

new(source_fields, target_fields) click to toggle source
# File lib/cranium/transformation_record.rb, line 7
def initialize(source_fields, target_fields)
  @source_fields, @target_fields = source_fields, target_fields
end

Public Instance Methods

[](field) click to toggle source
# File lib/cranium/transformation_record.rb, line 19
def [](field)
  @data[field]
end
[]=(field, value) click to toggle source
# File lib/cranium/transformation_record.rb, line 25
def []=(field, value)
  @data[field] = value
end
has_key?(key) click to toggle source
# File lib/cranium/transformation_record.rb, line 41
def has_key?(key)
  @data.has_key? key
end
input_data=(values) click to toggle source
# File lib/cranium/transformation_record.rb, line 13
def input_data=(values)
  @data = Hash[@source_fields.zip values]
end
split_field(field, options) click to toggle source
# File lib/cranium/transformation_record.rb, line 31
def split_field(field, options)
  values = @data[field].split(options[:by])

  options[:into].each_with_index do |target_field, index|
    @data[target_field] = values[index] || options[:default_value] || values.last
  end
end