Class: PackAPI::Querying::AbstractRangeFilter

Inherits:
DiscoverableFilter show all
Defined in:
lib/pack_api/querying/abstract_range_filter.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from DiscoverableFilter

#filter_name, filter_name, #type

Methods inherited from AbstractFilter

#apply_to

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_valueObject

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_valueObject

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

.definitionObject



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

.typeObject



7
8
9
# File 'lib/pack_api/querying/abstract_range_filter.rb', line 7

def self.type
  :range
end

Instance Method Details

#present?Boolean

Returns:

  • (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_hObject

Raises:

  • (NotImplementedError)


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