Method: ASeriesOfTubes::TubeRecord::SQLObject#insert

Defined in:
lib/a_series_of_tubes/tube_record/sql_object.rb

#insertObject



74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/a_series_of_tubes/tube_record/sql_object.rb', line 74

def insert
  columns = self.class.columns.drop(1)
  question_marks = (['?'] * columns.length)

  ASeriesOfTubes::TubeRecord::DBConnection.execute(<<-SQL, *attribute_values)
    INSERT INTO
      #{self.class.table_name} (#{columns.join(',')})
    VALUES
      (#{question_marks.join(',')})
  SQL

  self.id = ASeriesOfTubes::TubeRecord::DBConnection.last_insert_row_id
end