Class: PackAPI::Querying::FilterFactory
- Inherits:
-
Object
- Object
- PackAPI::Querying::FilterFactory
- Defined in:
- lib/pack_api/querying/filter_factory.rb
Instance Attribute Summary collapse
-
#filter_classes ⇒ Object
Returns the value of attribute filter_classes.
-
#use_default_filter ⇒ Object
Returns the value of attribute use_default_filter.
Instance Method Summary collapse
- #create_filters(filter_hash) ⇒ Object
-
#initialize ⇒ FilterFactory
constructor
A new instance of FilterFactory.
- #register_filter(name:, klass:) ⇒ Object
Constructor Details
#initialize ⇒ FilterFactory
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_classes ⇒ Object
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_filter ⇒ Object
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 |