Class: ModelSet::RawQuery
- Inherits:
-
Query
- Object
- Query
- ModelSet::RawQuery
show all
- Defined in:
- lib/model_set/raw_query.rb
Instance Attribute Summary collapse
Attributes inherited from Query
#limit, #set_class, #sort_order
Instance Method Summary
collapse
Methods inherited from Query
#after_query, after_query, before_query, #before_query, #clear_cache!, #clear_limited_cache!, #condition_ops, #initialize, #limit!, #limit_enabled?, #model_class, #model_name, #offset, on_exception, #on_exception, #order_by!, #page, #page!, #pages, #table_name, #transform_condition, #unlimited!, #unsorted!
Instance Attribute Details
#records ⇒ Object
Returns the value of attribute records.
3
4
5
|
# File 'lib/model_set/raw_query.rb', line 3
def records
@records
end
|
Instance Method Details
#anchor!(query, raw_method = 'find_raw_by_id') ⇒ Object
5
6
7
|
# File 'lib/model_set/raw_query.rb', line 5
def anchor!(query, raw_method = 'find_raw_by_id')
@records = model_class.send(raw_method, query.ids.to_a)
end
|
#count ⇒ Object
37
38
39
|
# File 'lib/model_set/raw_query.rb', line 37
def count
records.size
end
|
#ids ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/model_set/raw_query.rb', line 21
def ids
if limit
(records[offset, limit] || []).collect {|r| r['id'].to_i}
else
records.collect {|r| r['id'].to_i}
end
end
|
#reject!(&block) ⇒ Object
13
14
15
|
# File 'lib/model_set/raw_query.rb', line 13
def reject!(&block)
records.reject!(&block)
end
|
#select!(&block) ⇒ Object
9
10
11
|
# File 'lib/model_set/raw_query.rb', line 9
def select!(&block)
records.select!(&block)
end
|
#size ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/model_set/raw_query.rb', line 29
def size
if limit
[count - offset, limit].min
else
count
end
end
|
#sort_by!(&block) ⇒ Object
17
18
19
|
# File 'lib/model_set/raw_query.rb', line 17
def sort_by!(&block)
@records = records.sort_by(&block)
end
|