class Extract::Export::Table
Attributes
name[RW]
Public Instance Methods
cols()
click to toggle source
# File lib/extract/export/table.rb, line 8 def cols rows.map { |x| x.keys }.flatten.uniq end
create_table_sql()
click to toggle source
# File lib/extract/export/table.rb, line 21 def create_table_sql col_str = cols.map { |x| " #{quoted_col(x)} varchar(255)" }.join(",\n") "CREATE TABLE #{name} ( #{col_str} );" end
inserts()
click to toggle source
# File lib/extract/export/table.rb, line 28 def inserts res = [] rows.each do |row| col_str = row.keys.map { |x| quoted_col(x) }.join(",") val_str = row.values.map { |x| "'#{x}'" }.join(',') str = "INSERT INTO #{name} (#{col_str}) VALUES (#{val_str});" res << str end res end
quoted_col(col)
click to toggle source
# File lib/extract/export/table.rb, line 12 def quoted_col(col) return col if col.to_s[0..0] =~ /\d/ "\"#{col}\"" else col end end
sql()
click to toggle source
# File lib/extract/export/table.rb, line 43 def sql sql_statements.join("\n") end
sql_statements()
click to toggle source
# File lib/extract/export/table.rb, line 39 def sql_statements [create_table_sql,inserts].flatten end