Class: QueryStringInterface::SortingFilters
- Inherits:
-
Object
- Object
- QueryStringInterface::SortingFilters
- Includes:
- Helpers
- Defined in:
- lib/query_string_interface/sorting_filters.rb
Constant Summary collapse
- SORTING_FIELD_REGEXP =
/(.*)\.(#{QueryStringInterface::SORTING_OPERATORS.join('|')})/
Instance Method Summary collapse
-
#initialize(raw_filters, default_filters, attributes_to_replace = {}) ⇒ SortingFilters
constructor
A new instance of SortingFilters.
- #parse ⇒ Object
- #parse_filters(filters) ⇒ Object
Methods included from Helpers
#hash_with_indifferent_access, #replace_attribute, #replaced_attribute_name, #replaced_attribute_value
Constructor Details
#initialize(raw_filters, default_filters, attributes_to_replace = {}) ⇒ SortingFilters
Returns a new instance of SortingFilters.
7 8 9 10 11 |
# File 'lib/query_string_interface/sorting_filters.rb', line 7 def initialize(raw_filters, default_filters, attributes_to_replace={}) @raw_filters = raw_filters.with_indifferent_access @default_filters = default_filters @attributes_to_replace = attributes_to_replace end |
Instance Method Details
#parse ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/query_string_interface/sorting_filters.rb', line 13 def parse if @raw_filters.has_key?('order_by') parse_filters(@raw_filters['order_by']) else parse_filters(@default_filters) end end |
#parse_filters(filters) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/query_string_interface/sorting_filters.rb', line 21 def parse_filters(filters) filters = filters.split('|') if filters.is_a?(String) filters.map do |filter| replace(filter) end end |