Sha256: 037d9023655faf5cee57530a63625c0b0773edca7422bd9d997593eb4d6c5dda
Contents?: true
Size: 657 Bytes
Versions: 13
Compression:
Stored size: 657 Bytes
Contents
class Cranium::TransformationRecord attr_reader :data def initialize(source_fields, target_fields) @source_fields, @target_fields = source_fields, target_fields end def input_data=(values) @data = Hash[@source_fields.zip values] end def [](field) @data[field] end def []=(field, value) @data[field] = value end 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 def has_key?(key) @data.has_key? key end end
Version data entries
13 entries across 13 versions & 1 rubygems