Class: Cartomodel::QueryGenerator
- Inherits:
-
Object
- Object
- Cartomodel::QueryGenerator
- Defined in:
- lib/cartomodel/query_generator.rb
Instance Method Summary collapse
- #delete(id_column, id_value) ⇒ Object
-
#initialize(table_name) ⇒ QueryGenerator
constructor
A new instance of QueryGenerator.
- #insert(raw_values) ⇒ Object
- #update(raw_values, id_column, id_value) ⇒ Object
Constructor Details
#initialize(table_name) ⇒ QueryGenerator
Returns a new instance of QueryGenerator.
3 4 5 6 |
# File 'lib/cartomodel/query_generator.rb', line 3 def initialize(table_name) @table_name = table_name @table = Arel::Table.new(@table_name) end |
Instance Method Details
#delete(id_column, id_value) ⇒ Object
35 36 37 38 39 40 41 42 |
# 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) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 |
# 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) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# 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 |