Class: Apiphobic::Parameters::Filter

Inherits:
Object
  • Object
show all
Defined in:
lib/apiphobic/parameters/filter.rb

Constant Summary collapse

FLOAT =
/\A[\-+]?[_\d]+\.[_\d]+\z/
INTEGER =
/\A[\-+]?[_\d]+\z/
ISO8601 =
/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:[+\-]\d{2}:\d{2}|Z)/
NUMERICAL =
/[\-+]?[_\d]+(?:\.\d+)?/
DATE_RANGE =
/\A(#{ISO8601})\.\.\.?(#{ISO8601})\z/
NUMERICAL_RANGE =
/\A(#{NUMERICAL})\.\.\.?(#{NUMERICAL}|Infinity)\z/

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_parameters) ⇒ Filter

Returns a new instance of Filter.



16
17
18
# File 'lib/apiphobic/parameters/filter.rb', line 16

def initialize(raw_parameters)
  self.raw_parameters = raw_parameters || {}
end

Instance Attribute Details

#raw_parametersObject

Returns the value of attribute raw_parameters.



14
15
16
# File 'lib/apiphobic/parameters/filter.rb', line 14

def raw_parameters
  @raw_parameters
end

Instance Method Details

#each_with_object(memoized) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/apiphobic/parameters/filter.rb', line 24

def each_with_object(memoized)
  compacted_parameters.each do |name, value|
    memoized = yield [name, format_value(value)], memoized
  end

  memoized
end

#present?Boolean

Returns:



20
21
22
# File 'lib/apiphobic/parameters/filter.rb', line 20

def present?
  compacted_parameters.any?
end