Class: Tablets::Data::Query

Inherits:
Object
  • Object
show all
Defined in:
lib/tablets/data/query.rb

Overview

Incapsulates database query

Instance Method Summary collapse

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

#fetchObject

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

#filteredObject

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

#totalObject

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