Class: RocketJobMissionControl::Query

Inherits:
Object
  • Object
show all
Defined in:
app/models/rocket_job_mission_control/query.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scope, order_by = nil) ⇒ Query

Returns a new instance of Query.



7
8
9
10
11
12
# File 'app/models/rocket_job_mission_control/query.rb', line 7

def initialize(scope, order_by = nil)
  @scope           = scope
  @order_by        = order_by
  @search_columns  = []
  @display_columns = []
end

Instance Attribute Details

#display_columnsObject

Returns the value of attribute display_columns.



4
5
6
# File 'app/models/rocket_job_mission_control/query.rb', line 4

def display_columns
  @display_columns
end

#order_byObject

Returns the value of attribute order_by.



4
5
6
# File 'app/models/rocket_job_mission_control/query.rb', line 4

def order_by
  @order_by
end

#page_sizeObject

Returns the value of attribute page_size.



4
5
6
# File 'app/models/rocket_job_mission_control/query.rb', line 4

def page_size
  @page_size
end

#scopeObject (readonly)

Returns the value of attribute scope.



3
4
5
# File 'app/models/rocket_job_mission_control/query.rb', line 3

def scope
  @scope
end

#search_columnsObject

Returns the value of attribute search_columns.



4
5
6
# File 'app/models/rocket_job_mission_control/query.rb', line 4

def search_columns
  @search_columns
end

#search_termObject

Returns the value of attribute search_term.



4
5
6
# File 'app/models/rocket_job_mission_control/query.rb', line 4

def search_term
  @search_term
end

#startObject

Returns the value of attribute start.



4
5
6
# File 'app/models/rocket_job_mission_control/query.rb', line 4

def start
  @start
end

Instance Method Details

#countObject

Count after applying search_term. Pagination settings do not affect this count.



22
23
24
# File 'app/models/rocket_job_mission_control/query.rb', line 22

def count
  unsorted_query.count
end

#queryObject

Returns the filtered query expression with the sort applied



15
16
17
18
# File 'app/models/rocket_job_mission_control/query.rb', line 15

def query
  # Sort must be applied last
  order_by ? unsorted_query.sort(order_by) : unsorted_query
end

#unfiltered_countObject

Count before applying search term Pagination settings do not affect this count.



28
29
30
# File 'app/models/rocket_job_mission_control/query.rb', line 28

def unfiltered_count
  scope.count
end