Class: DatabaseCore::V3::InsertModel

Inherits:
Object
  • Object
show all
Defined in:
lib/database-core/v3/insert_model.rb

Class Method Summary collapse

Class Method Details

.build(model, params) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/database-core/v3/insert_model.rb', line 5

def self.build model, params

  model = Sanitize.target(model)

  datetime = Time.current.utc.strftime("%Y-%m-%d %H:%M:%S")

  params["columns"]["created_at"] = datetime
  params["columns"]["updated_at"] = datetime

  columns = build_columns(params).join(", ")

  values = build_values(params).join(", ")

  "INSERT INTO `#{model}` (#{columns}) VALUES (#{values})"
end

.build_columns(params) ⇒ Object



21
22
23
24
# File 'lib/database-core/v3/insert_model.rb', line 21

def self.build_columns params

  params["columns"].keys.map{ |column| "`#{Sanitize.target(column)}`" }
end

.build_values(params) ⇒ Object



26
27
28
29
# File 'lib/database-core/v3/insert_model.rb', line 26

def self.build_values params

  params["columns"].values.map{ |value| Sanitize.array(["?", value]) }
end