Class: Filterameter::Registries::Registry
- Inherits:
-
Object
- Object
- Filterameter::Registries::Registry
- Defined in:
- lib/filterameter/registries/registry.rb
Overview
Registry
Class Registry records declarations and allows resulting filters and sorts to be fetched from sub-registries.
Instance Method Summary collapse
- #add_filter(parameter_name, options) ⇒ Object
- #add_sort(parameter_name, options) ⇒ Object
- #fetch_filter(parameter_name) ⇒ Object
- #fetch_sort(parameter_name) ⇒ Object
-
#initialize(model_class) ⇒ Registry
constructor
A new instance of Registry.
Constructor Details
#initialize(model_class) ⇒ Registry
Returns a new instance of Registry.
11 12 13 14 |
# File 'lib/filterameter/registries/registry.rb', line 11 def initialize(model_class) @filter_registry = Filterameter::Registries::FilterRegistry.new(Filterameter::FilterFactory.new(model_class)) @sort_registry = Filterameter::Registries::SortRegistry.new(Filterameter::SortFactory.new(model_class)) end |
Instance Method Details
#add_filter(parameter_name, options) ⇒ Object
16 17 18 19 |
# File 'lib/filterameter/registries/registry.rb', line 16 def add_filter(parameter_name, ) declaration = @filter_registry.add(parameter_name, ) add_sort(parameter_name, .slice(:name, :association)) if declaration.sortable? end |
#add_sort(parameter_name, options) ⇒ Object
25 26 27 |
# File 'lib/filterameter/registries/registry.rb', line 25 def add_sort(parameter_name, ) @sort_registry.add(parameter_name, ) end |
#fetch_filter(parameter_name) ⇒ Object
21 22 23 |
# File 'lib/filterameter/registries/registry.rb', line 21 def fetch_filter(parameter_name) @filter_registry.fetch(parameter_name) end |
#fetch_sort(parameter_name) ⇒ Object
29 30 31 |
# File 'lib/filterameter/registries/registry.rb', line 29 def fetch_sort(parameter_name) @sort_registry.fetch(parameter_name) end |