Class: PackAPI::Querying::AbstractRangeFilter
- Inherits:
-
DiscoverableFilter
- Object
- AbstractFilter
- DiscoverableFilter
- PackAPI::Querying::AbstractRangeFilter
- Defined in:
- lib/pack_api/querying/abstract_range_filter.rb
Instance Attribute Summary collapse
-
#max_value ⇒ Object
Returns the value of attribute max_value.
-
#min_value ⇒ Object
Returns the value of attribute min_value.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(min_value:, max_value:) ⇒ AbstractRangeFilter
constructor
A new instance of AbstractRangeFilter.
- #present? ⇒ Boolean
- #to_h ⇒ Object
Methods inherited from DiscoverableFilter
#filter_name, filter_name, #type
Methods inherited from AbstractFilter
Constructor Details
#initialize(min_value:, max_value:) ⇒ AbstractRangeFilter
Returns a new instance of AbstractRangeFilter.
15 16 17 18 19 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 15 def initialize(min_value:, max_value:) super() @min_value = min_value @max_value = max_value end |
Instance Attribute Details
#max_value ⇒ Object
Returns the value of attribute max_value.
5 6 7 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 5 def max_value @max_value end |
#min_value ⇒ Object
Returns the value of attribute min_value.
5 6 7 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 5 def min_value @min_value end |
Class Method Details
.definition ⇒ Object
11 12 13 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 11 def self.definition(**) PackAPI::Types::RangeFilterDefinition.new(name: filter_name) end |
.type ⇒ Object
7 8 9 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 7 def self.type :range end |
Instance Method Details
#present? ⇒ Boolean
21 22 23 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 21 def present? min_value.present? || max_value.present? end |
#to_h ⇒ Object
25 26 27 28 29 |
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 25 def to_h raise NotImplementedError unless self.class.filter_name { self.class.filter_name => { min_value:, max_value: } } end |