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
12 13 14 15 16 |
# File 'lib/tablets/data/query.rb', line 12 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
19 20 21 |
# File 'lib/tablets/data/query.rb', line 19 def fetch paginate filter order relation end |
#filtered ⇒ Object
Returns records count after filter is applied but before pagination
29 30 31 |
# File 'lib/tablets/data/query.rb', line 29 def filtered filter(relation).count(:all) end |
#total ⇒ Object
Returns total records count before filter and pagination is applied
24 25 26 |
# File 'lib/tablets/data/query.rb', line 24 def total relation.count(:all) end |