Sha256: 5770106f980b1d7553bef8bc203b55333330bb3184861263ada646010385bffd

Contents?: true

Size: 1.01 KB

Versions: 7

Compression:

Stored size: 1.01 KB

Contents

module FlydataCore
module TableDef

class Base
  def initialize(table_def, table_name, columns, column_def, default_charset,
                 default_source_charset, comment)
    @table_def = table_def
    @table_name = table_name
    @columns = columns
    @column_def = column_def
    @default_charset = default_charset
    @default_source_charset = default_source_charset
    @comment = comment
  end

  attr_reader :columns, :column_def, :table_name, :default_source_charset

  def to_flydata_tabledef
    tabledef = { table_name: @table_name,
                 columns: @columns,
               }
    tabledef[:default_charset] = @default_charset if @default_charset
    tabledef[:comment] = @comment if @comment
    tabledef[:src_ddl] = @table_def

    tabledef
  end

  def column_names
    @columns.collect{|col| col[:column]}
  end

  def pk_columns
    @columns.select{|col| col.has_key?(:primary_key) }.
             sort{|a,b| a[:primary_key] <=> b[:primary_key]}.
             collect{|col| col[:column]}
  end
end

end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
flydata-0.7.2.1 flydata-core/lib/flydata-core/table_def/base.rb
flydata-0.7.2 flydata-core/lib/flydata-core/table_def/base.rb
flydata-0.7.1 flydata-core/lib/flydata-core/table_def/base.rb
flydata-0.7.0 flydata-core/lib/flydata-core/table_def/base.rb
flydata-0.6.14 flydata-core/lib/flydata-core/table_def/base.rb
flydata-0.6.13 flydata-core/lib/flydata-core/table_def/base.rb
flydata-0.6.12 flydata-core/lib/flydata-core/table_def/base.rb