Class: Tablets::Data::Query
- Inherits:
-
Object
- Object
- Tablets::Data::Query
- Defined in:
- lib/tablets/data/query.rb
Overview
Incapsulates database query.
Instance Method Summary collapse
-
#fetch ⇒ Object
Applies all processings on relation and returns it.
-
#filtered ⇒ Object
Returns records count after filter is applied but before pagination.
-
#initialize(relation, params, columns) ⇒ Query
constructor
Initializes query with relation, params and columns.
-
#total ⇒ Object
Returns total records count before filter and pagination is applied.
Constructor Details
#initialize(relation, params, columns) ⇒ Query
Initializes query with relation, params and columns.
10 11 12 13 14 |
# File 'lib/tablets/data/query.rb', line 10 def initialize(relation, params, columns) @relation = relation @params = params @columns = columns end |
Instance Method Details
#fetch ⇒ Object
Applies all processings on relation and returns it.
17 18 19 20 21 22 23 |
# File 'lib/tablets/data/query.rb', line 17 def fetch result = relation result = order(result) result = filter(result) result = paginate(result) result end |
#filtered ⇒ Object
Returns records count after filter is applied but before pagination.
31 32 33 |
# File 'lib/tablets/data/query.rb', line 31 def filtered filter(relation).count(:all) end |
#total ⇒ Object
Returns total records count before filter and pagination is applied.
26 27 28 |
# File 'lib/tablets/data/query.rb', line 26 def total relation.count(:all) end |