Sha256: cdb1654594d91fde6df2f5e407bc074d404f1052610321dbae491dff628c33f9

Contents?: true

Size: 823 Bytes

Versions: 8

Compression:

Stored size: 823 Bytes

Contents

module Flydata
module Parser

class SourceTable
  def initialize(table_name, columns = {}, primary_keys = [])
    @table_name = table_name
    @columns = columns
    @column_names = columns.collect{|k,v| v[:column_name]}
    @primary_keys = primary_keys
    @value_converters = {}
  end

  attr_accessor :table_name, :columns, :column_names, :primary_keys, :value_converters

  def add_column(column)
    cn = column[:column_name]
    @columns[cn] = column
    @column_names << cn
  end

  def set_value_converters(converter_hash)
    @value_converters ||= {}  # for backward compatibility with an old marshal dump object
    @columns.each_with_index do |(k, v), i|
      type = v[:format_type]
      if converter_hash.has_key?(type)
        @value_converters[i] = converter_hash[type]
      end
    end
  end
end

end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
flydata-0.6.11 lib/flydata/parser/source_table.rb
flydata-0.6.10 lib/flydata/parser/source_table.rb
flydata-0.6.9 lib/flydata/parser/source_table.rb
flydata-0.6.8 lib/flydata/parser/source_table.rb
flydata-0.6.7 lib/flydata/parser/source_table.rb
flydata-0.6.6 lib/flydata/parser/source_table.rb
flydata-0.6.5 lib/flydata/parser/source_table.rb
flydata-0.6.4 lib/flydata/parser/source_table.rb