Class: Hoodoo::Services::Request::ListParameters

Inherits:
Object
  • Object
show all
Defined in:
lib/hoodoo/services/services/request.rb

Overview

Encapsulation of all parameters related only to modifying a list of results. Other parameters may modify lists too, but they also modify other representations (e.g. single-resource ‘show’).

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeListParameters

Set up defaults in this instance.



59
60
61
62
63
64
65
# File 'lib/hoodoo/services/services/request.rb', line 59

def initialize
  self.offset      = 0
  self.limit       = 50
  self.sort_data   = { 'created_at' => 'desc' }
  self.search_data = {}
  self.filter_data = {}
end

Instance Attribute Details

#filter_dataObject

List filter key/value pairs as a hash, all keys/values strings; {} if there’s no filter data in the request URI query string.



55
56
57
# File 'lib/hoodoo/services/services/request.rb', line 55

def filter_data
  @filter_data
end

#limitObject

List page size, for index views; an integer; always defined.



40
41
42
# File 'lib/hoodoo/services/services/request.rb', line 40

def limit
  @limit
end

#offsetObject

List offset, for index views; an integer; always defined.



36
37
38
# File 'lib/hoodoo/services/services/request.rb', line 36

def offset
  @offset
end

#search_dataObject

List search key/value pairs as a hash, all keys/values strings; {} if there’s no search data in the request URI query string.



50
51
52
# File 'lib/hoodoo/services/services/request.rb', line 50

def search_data
  @search_data
end

#sort_dataObject

A Hash of String keys and values, where each key is a field for sorting and each value is the direction to sort that field.



45
46
47
# File 'lib/hoodoo/services/services/request.rb', line 45

def sort_data
  @sort_data
end