class Rollerskates::BaseModel

Public Class Methods

all() click to toggle source
# File lib/rollerskates/base_model.rb, line 34
def self.all
  query
end
create(create_parameters) click to toggle source
# File lib/rollerskates/base_model.rb, line 30
def self.create(create_parameters)
  query.build(create_parameters).save
end
find(value) click to toggle source
# File lib/rollerskates/base_model.rb, line 18
def self.find(value)
  query.where({ id: value }, true)
end
find_by(find_conditions) click to toggle source
# File lib/rollerskates/base_model.rb, line 22
def self.find_by(find_conditions)
  query.where(find_conditions, true)
end
last(number = nil) click to toggle source
# 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) click to toggle source
# File lib/rollerskates/base_model.rb, line 42
def self.method_missing(method, *args, &block)
  query.send(method, *args, &block)
end
new(values = {}) click to toggle source
# File lib/rollerskates/base_model.rb, line 10
def initialize(values = {})
  hash_to_properties(values) unless values.empty?
end
query() click to toggle source
# File lib/rollerskates/base_model.rb, line 38
def self.query
  Rollerskates::QueryBuilder.new self
end

Public Instance Methods

save() click to toggle source
# File lib/rollerskates/base_model.rb, line 14
def save
  self.class.query.build(to_hash).save
end

Private Instance Methods

hash_to_properties(hash) click to toggle source
# File lib/rollerskates/base_model.rb, line 48
def hash_to_properties(hash)
  hash.each do |column, value|
    instance_variable_set("@#{column}", value)
  end
end
to_hash() click to toggle source
# File lib/rollerskates/base_model.rb, line 54
def to_hash
  hashed_object = {}
  instance_variables.each do |property|
    hashed_object[property[1..-1].to_sym] =
      instance_variable_get(property.to_s)
  end
  hashed_object
end