Method: MotionRecord::ConnectionAdapters::SQLiteAdapter#insert

Defined in:
lib/motion_record/connection_adapters/sqlite_adapter.rb

#insert(table_name, params) ⇒ Object

Add a row to a table

table_name - name of the table params - Hash of column names to values to insert



90
91
92
93
94
95
96
97
98
99
# File 'lib/motion_record/connection_adapters/sqlite_adapter.rb', line 90

def insert(table_name, params)
  pairs = params.to_a
  param_names  = pairs.map(&:first)
  param_values = pairs.map(&:last)
  param_marks = Array.new(param_names.size, "?").join(", ")

  insert_statement = "INSERT INTO #{table_name} (#{param_names.join(", ")}) VALUES (#{param_marks})"

  @db.execute insert_statement, param_values
end