Class: Datagrid::Drivers::Array
Class Method Summary
collapse
Instance Method Summary
collapse
-
#asc(scope, order) ⇒ Object
-
#default_order(scope, column_name) ⇒ Object
-
#desc(scope, order) ⇒ Object
-
#greater_equal(scope, field, value) ⇒ Object
-
#has_column?(scope, column_name) ⇒ Boolean
-
#less_equal(scope, field, value) ⇒ Object
-
#to_scope(scope) ⇒ Object
-
#where(scope, attribute, value) ⇒ Object
guess_driver, inherited, #match?, #reverse_order
Instance Method Details
#asc(scope, order) ⇒ Object
19
20
21
22
23
24
25
|
# File 'lib/datagrid/drivers/array.rb', line 19
def asc(scope, order)
return scope unless order
return scope if order.empty?
scope.sort_by do |object|
object.send(order)
end
end
|
#default_order(scope, column_name) ⇒ Object
31
32
33
|
# File 'lib/datagrid/drivers/array.rb', line 31
def default_order(scope, column_name)
column_name
end
|
#desc(scope, order) ⇒ Object
27
28
29
|
# File 'lib/datagrid/drivers/array.rb', line 27
def desc(scope, order)
asc(scope, order).reverse
end
|
#greater_equal(scope, field, value) ⇒ Object
35
36
37
38
39
|
# File 'lib/datagrid/drivers/array.rb', line 35
def greater_equal(scope, field, value)
scope.select do |object|
object.send(field) >= value
end
end
|
#has_column?(scope, column_name) ⇒ Boolean
47
48
49
|
# File 'lib/datagrid/drivers/array.rb', line 47
def has_column?(scope, column_name)
scope.first.respond_to?(column_name)
end
|
#less_equal(scope, field, value) ⇒ Object
41
42
43
44
45
|
# File 'lib/datagrid/drivers/array.rb', line 41
def less_equal(scope, field, value)
scope.select do |object|
object.send(field) <= value
end
end
|
#to_scope(scope) ⇒ Object
9
10
11
|
# File 'lib/datagrid/drivers/array.rb', line 9
def to_scope(scope)
scope
end
|
#where(scope, attribute, value) ⇒ Object
13
14
15
16
17
|
# File 'lib/datagrid/drivers/array.rb', line 13
def where(scope, attribute, value)
scope.select do |object|
object.send(attribute) == value
end
end
|