class Rollerskates::QueryBuilder

Public Class Methods

new(model) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 7
def initialize(model)
  @model = model
  @columns = []
  @type = :collection
end

Public Instance Methods

build(create_parameters) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 61
def build(create_parameters)
  @create_parameters = create_parameters
  @query = "INSERT INTO #{table_name} (#{create_columns})\
    VALUES (#{create_values})"
  self
end
count() click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 48
def count
  @count = true
  execute
  @result.flatten[0].to_i
end
destroy(item_id = nil) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 68
def destroy(item_id = nil)
  index = item_id ? item_id : id
  @query = "DELETE FROM #{table_name} WHERE id = #{index}"
  execute
  self
end
destroy_all() click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 75
def destroy_all
  @query = "DELETE FROM #{table_name}"
  execute
  self
end
first(number = nil) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 28
def first(number = nil)
  @type = :object unless number
  number ? limit(number) : limit(1)
end
limit(limit_condition = nil) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 33
def limit(limit_condition = nil)
  @limit = limit_condition if limit_condition
  self
end
offset(offset_condition) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 38
def offset(offset_condition)
  @offset = offset_condition if offset_condition
  self
end
order(order_conditions) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 43
def order(order_conditions)
  @order = order_conditions.to_s
  self
end
save() click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 81
def save
  @type = :object
  execute
  data
end
select(*select_conditions) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 13
def select(*select_conditions)
  @select = select_conditions
  self
end
update(update_parameters) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 54
def update(update_parameters)
  @update_parameters = update_parameters
  @query = "UPDATE #{table_name} SET \
    #{update_values.join(', ')} WHERE id = #{id}"
  self
end
where(where_conditions, object = nil) click to toggle source
# File lib/rollerskates/orm/query_builder.rb, line 18
def where(where_conditions, object = nil)
  if object
    @type = :object
    limit(1)
  end

  @columns << where_conditions
  self
end