Class: PackAPI::Querying::FilterFactory

Inherits:
Object
  • Object
show all
Defined in:
lib/pack_api/querying/filter_factory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeFilterFactory

Returns a new instance of FilterFactory.



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

def initialize
  @filter_classes = Hash.new { |_hash, key| raise NotImplementedError, "Unsupported filter #{key}" }
end

Instance Attribute Details

#filter_classesObject

Returns the value of attribute filter_classes.



5
6
7
# File 'lib/pack_api/querying/filter_factory.rb', line 5

def filter_classes
  @filter_classes
end

#use_default_filterObject

Returns the value of attribute use_default_filter.



5
6
7
# File 'lib/pack_api/querying/filter_factory.rb', line 5

def use_default_filter
  @use_default_filter
end

Instance Method Details

#create_filters(filter_hash) ⇒ Object



15
16
17
# File 'lib/pack_api/querying/filter_factory.rb', line 15

def create_filters(filter_hash)
  filter_objects(filter_hash).select(&:present?)
end

#register_filter(name:, klass:) ⇒ Object



11
12
13
# File 'lib/pack_api/querying/filter_factory.rb', line 11

def register_filter(name:, klass:)
  filter_classes[name] = klass
end