Class: MundaneSearch::FilterCanister
- Inherits:
-
Object
- Object
- MundaneSearch::FilterCanister
- Defined in:
- lib/mundane-search/filter_canister.rb
Instance Attribute Summary collapse
-
#filter ⇒ Object
readonly
Returns the value of attribute filter.
-
#options ⇒ Object
readonly
Returns the value of attribute options.
Instance Method Summary collapse
- #build(collection, params) ⇒ Object
- #filter_variant(collection) ⇒ Object
-
#initialize(filter, *args) ⇒ FilterCanister
constructor
A new instance of FilterCanister.
- #option_keys_with_types ⇒ Object
Constructor Details
#initialize(filter, *args) ⇒ FilterCanister
Returns a new instance of FilterCanister.
4 5 6 |
# File 'lib/mundane-search/filter_canister.rb', line 4 def initialize(filter, *args) @filter, = filter, args end |
Instance Attribute Details
#filter ⇒ Object (readonly)
Returns the value of attribute filter.
3 4 5 |
# File 'lib/mundane-search/filter_canister.rb', line 3 def filter @filter end |
#options ⇒ Object (readonly)
Returns the value of attribute options.
3 4 5 |
# File 'lib/mundane-search/filter_canister.rb', line 3 def end |
Instance Method Details
#build(collection, params) ⇒ Object
8 9 10 |
# File 'lib/mundane-search/filter_canister.rb', line 8 def build(collection, params) filter_variant(collection).new(collection, params, *) end |
#filter_variant(collection) ⇒ Object
12 13 14 15 16 |
# File 'lib/mundane-search/filter_canister.rb', line 12 def filter_variant(collection) base = collection.class.to_s.split('::').first.to_sym varient = filter.constants.detect {|c| c == base } varient ? filter.const_get(varient) : filter end |
#option_keys_with_types ⇒ Object
18 19 20 |
# File 'lib/mundane-search/filter_canister.rb', line 18 def option_keys_with_types ParamKeyTypes.new(, filter).pairs end |