class DefaultingRowSet

Attributes

columns_in_order[RW]
defaults[RW]
rows[RW]

Public Class Methods

new() click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 23
def initialize
  @defaults = Hash.new
  @rows = []

  @columns_in_order = []
end

Public Instance Methods

add_row(column_values) click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 35
def add_row(column_values)
  column_values.keys.map {|col| add_column(col) }

  defaulted_row = set_defaults_at_time_of_addition(column_values)
  @rows << Row.new(defaulted_row,@columns_in_order & defaulted_row.keys)
  @rows.last
end
empty?() click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 53
def empty?
  @rows.empty?
end
insert_statements(schema,name) click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 43
def insert_statements(schema,name)
  @rows.collect do |row|
    row.insert_stmt(schema,name)
  end
end
set_default(column,value) click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 30
def set_default(column,value)
  add_column(column)
  @defaults[column] = value
end
where_clauses() click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 49
def where_clauses
  @rows.map(&:where_clause)
end

Protected Instance Methods

add_column(column) click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 58
def add_column(column)
  @columns_in_order << column
  @columns_in_order.uniq!
end
set_defaults_at_time_of_addition(row) click to toggle source
# File lib/dbexpect/defaulting_row_set.rb, line 63
def set_defaults_at_time_of_addition(row)
  @defaults.merge(row)
end