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