Class: Rollerskates::BaseModel

Inherits:
Object
  • Object
show all
Extended by:
Associable, DatabaseTableHelper
Defined in:
lib/rollerskates/base_model.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Associable

belongs_to, has_many

Methods included from DatabaseTableHelper

all_columns, database, model_name, table_name

Constructor Details

#initialize(values = {}) ⇒ BaseModel

Returns a new instance of BaseModel.



10
11
12
# File 'lib/rollerskates/base_model.rb', line 10

def initialize(values = {})
  hash_to_properties(values) unless values.empty?
end

Class Method Details

.allObject



34
35
36
# File 'lib/rollerskates/base_model.rb', line 34

def self.all
  query
end

.create(create_parameters) ⇒ Object



30
31
32
# File 'lib/rollerskates/base_model.rb', line 30

def self.create(create_parameters)
  query.build(create_parameters).save
end

.find(value) ⇒ Object



18
19
20
# File 'lib/rollerskates/base_model.rb', line 18

def self.find(value)
  query.where({ id: value }, true)
end

.find_by(find_conditions) ⇒ Object



22
23
24
# File 'lib/rollerskates/base_model.rb', line 22

def self.find_by(find_conditions)
  query.where(find_conditions, true)
end

.last(number = nil) ⇒ Object



26
27
28
# File 'lib/rollerskates/base_model.rb', line 26

def self.last(number = nil)
  query.order("id DESC").first(number)
end

.method_missing(method, *args, &block) ⇒ Object



42
43
44
# File 'lib/rollerskates/base_model.rb', line 42

def self.method_missing(method, *args, &block)
  query.send(method, *args, &block)
end

.queryObject



38
39
40
# File 'lib/rollerskates/base_model.rb', line 38

def self.query
  Rollerskates::QueryBuilder.new self
end

Instance Method Details

#saveObject



14
15
16
# File 'lib/rollerskates/base_model.rb', line 14

def save
  self.class.query.build(to_hash).save
end