class Cartomodel::QueryGenerator
Public Class Methods
new(table_name)
click to toggle source
# File lib/cartomodel/query_generator.rb, line 3 def initialize(table_name) @table_name = table_name @table = Arel::Table.new(@table_name) end
Public Instance Methods
delete(id_column, id_value)
click to toggle source
# File lib/cartomodel/query_generator.rb, line 35 def delete(id_column, id_value) manager = Arel::DeleteManager.new manager.from @table manager.where @table[id_column].eq(id_value) return manager.to_sql end
insert(raw_values)
click to toggle source
# File lib/cartomodel/query_generator.rb, line 8 def insert(raw_values) manager = Arel::InsertManager.new() manager.into @table values = [] raw_values.each do |key, value| values << [@table[key], value] end manager.insert(values) manager.to_sql + ' RETURNING cartodb_id' end
update(raw_values, id_column, id_value)
click to toggle source
# File lib/cartomodel/query_generator.rb, line 21 def update(raw_values, id_column, id_value) values = [] raw_values.each do |key, value| values << [@table[key], value] end manager = Arel::UpdateManager.new manager.table @table manager.where @table[id_column].eq(id_value) manager.set values return manager.to_sql end