Module: Pup::OrmMethods

Included in:
Model
Defined in:
lib/pup/model/orm_methods.rb

Instance Method Summary collapse

Instance Method Details

#allObject



17
18
19
20
21
22
23
24
25
# File 'lib/pup/model/orm_methods.rb', line 17

def all
  fields = columns_array.join(", ")
  data = DB.execute("SELECT id, #{fields} FROM #{table_name}")
  data.map! do |row|
    row_to_model(row)
  end

  data
end

#create(parameters) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/pup/model/orm_methods.rb', line 8

def create(parameters)
  model = new
  parameters.each do |key, value|
    model.send("#{key}=", value)
  end

  model.save
end

#destroy(id) ⇒ Object



46
47
48
# File 'lib/pup/model/orm_methods.rb', line 46

def destroy(id)
  DB.execute("DELETE FROM #{table_name} WHERE id= ?", id)
end

#destroy_allObject



50
51
52
# File 'lib/pup/model/orm_methods.rb', line 50

def destroy_all
  DB.execute("DELETE FROM #{table_name}")
end

#find(id) ⇒ Object



37
38
39
40
41
42
43
44
# File 'lib/pup/model/orm_methods.rb', line 37

def find(id)
  fields = columns_array.join(", ")
  row = DB.execute(
    "SELECT id, #{fields} FROM #{table_name} WHERE id = ?",
    id
  ).first
  row_to_model(row) if row
end