Class: Rollerskates::QueryBuilder
Instance Method Summary
collapse
Constructor Details
Returns a new instance of QueryBuilder.
7
8
9
10
11
|
# File 'lib/rollerskates/orm/query_builder.rb', line 7
def initialize(model)
@model = model
@columns = []
@type = :collection
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
in the class Rollerskates::QueryHelper
Instance Method Details
#build(create_parameters) ⇒ Object
61
62
63
64
65
66
|
# 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
|
48
49
50
51
52
|
# File 'lib/rollerskates/orm/query_builder.rb', line 48
def count
@count = true
execute
@result.flatten[0].to_i
end
|
#destroy(item_id = nil) ⇒ Object
68
69
70
71
72
73
|
# 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 ⇒ Object
75
76
77
78
79
|
# File 'lib/rollerskates/orm/query_builder.rb', line 75
def destroy_all
@query = "DELETE FROM #{table_name}"
execute
self
end
|
#first(number = nil) ⇒ Object
28
29
30
31
|
# 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) ⇒ Object
33
34
35
36
|
# 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) ⇒ Object
38
39
40
41
|
# File 'lib/rollerskates/orm/query_builder.rb', line 38
def offset(offset_condition)
@offset = offset_condition if offset_condition
self
end
|
#order(order_conditions) ⇒ Object
43
44
45
46
|
# File 'lib/rollerskates/orm/query_builder.rb', line 43
def order(order_conditions)
@order = order_conditions.to_s
self
end
|
81
82
83
84
85
|
# File 'lib/rollerskates/orm/query_builder.rb', line 81
def save
@type = :object
execute
data
end
|
#select(*select_conditions) ⇒ Object
13
14
15
16
|
# File 'lib/rollerskates/orm/query_builder.rb', line 13
def select(*select_conditions)
@select = select_conditions
self
end
|
#update(update_parameters) ⇒ Object
54
55
56
57
58
59
|
# 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) ⇒ Object
18
19
20
21
22
23
24
25
26
|
# 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
|