Class: Json2sql::InsertModel

Inherits:
Object
  • Object
show all
Defined in:
lib/json2sql/insert_model.rb

Overview

Builds an INSERT INTO statement for a single table.

Input Hash:

"columns" => { "col_name" => value, ... }

Values:

Integer / Float → inserted as raw numbers
String          → wrapped in single quotes with SQL escaping

Instance Method Summary collapse

Constructor Details

#initialize(sql, table) ⇒ InsertModel

Returns a new instance of InsertModel.



14
15
16
17
18
19
# File 'lib/json2sql/insert_model.rb', line 14

def initialize(sql, table)

  @sql = sql

  @table = table.to_s
end

Instance Method Details

#build(params) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/json2sql/insert_model.rb', line 21

def build(params)

  @sql << "INSERT INTO "

  @sql << Sanitizer.keyword_wrap(@table)

  @sql << " ("

  build_columns(params)

  @sql << ") VALUES ("

  build_values(params)

  @sql << ")"
end