Class: Might::FilterParameters
- Inherits:
-
Object
- Object
- Might::FilterParameters
- Extended by:
- Forwardable
- Includes:
- Comparable, Enumerable
- Defined in:
- lib/might/filter_parameters.rb
Constant Summary collapse
- FilterError =
Class.new(KeyError)
Instance Method Summary collapse
-
#+(other) ⇒ Object
param other [Might::FilterParameters].
-
#-(other) ⇒ Object
param other [Might::FilterParameters].
- #<=>(other) ⇒ Object
-
#[](name) ⇒ Might::FilterParameter?
Find filter by name.
-
#add(value) ⇒ Object
(also: #<<)
param value [Might::FilterParameter].
-
#delete(name) ⇒ Might::FilterParameter?
Delete filter by name.
-
#fetch(name) {|name| ... } ⇒ Might::FilterParameter
Find filter by name or raise error.
-
#initialize(parameters = nil) ⇒ FilterParameters
constructor
A new instance of FilterParameters.
-
#initialize_clone(orig) ⇒ Object
Clone internal set.
-
#initialize_dup(orig) ⇒ Object
Dup internal set.
- #map(&block) ⇒ Object
Constructor Details
#initialize(parameters = nil) ⇒ FilterParameters
Returns a new instance of FilterParameters.
14 15 16 |
# File 'lib/might/filter_parameters.rb', line 14 def initialize(parameters = nil) @parameters = Set.new(parameters) end |
Instance Method Details
#+(other) ⇒ Object
param other [Might::FilterParameters]
72 73 74 |
# File 'lib/might/filter_parameters.rb', line 72 def +(other) self.class.new(parameters.merge(other.parameters)) end |
#-(other) ⇒ Object
param other [Might::FilterParameters]
67 68 69 |
# File 'lib/might/filter_parameters.rb', line 67 def -(other) self.class.new(parameters - other.parameters) end |
#<=>(other) ⇒ Object
85 86 87 |
# File 'lib/might/filter_parameters.rb', line 85 def <=>(other) parameters <=> other.parameters end |
#[](name) ⇒ Might::FilterParameter?
Find filter by name
34 35 36 |
# File 'lib/might/filter_parameters.rb', line 34 def [](name) parameters.detect { |filter| filter.name == name } end |
#add(value) ⇒ Object Also known as: <<
param value [Might::FilterParameter]
56 57 58 |
# File 'lib/might/filter_parameters.rb', line 56 def add(value) self.class.new(parameters.add(value)) end |
#delete(name) ⇒ Might::FilterParameter?
Delete filter by name
79 80 81 82 83 |
# File 'lib/might/filter_parameters.rb', line 79 def delete(name) filter_parameter = self[name] parameters.delete(filter_parameter) if filter_parameter filter_parameter end |
#fetch(name) {|name| ... } ⇒ Might::FilterParameter
Find filter by name or raise error
45 46 47 48 49 50 51 52 53 |
# File 'lib/might/filter_parameters.rb', line 45 def fetch(name) if (filter = self[name]) filter elsif block_given? yield(name) else fail FilterError, "filter not found: #{name.inspect}" end end |
#initialize_clone(orig) ⇒ Object
Clone internal set.
25 26 27 28 |
# File 'lib/might/filter_parameters.rb', line 25 def initialize_clone(orig) super @parameters = orig.parameters.clone end |
#initialize_dup(orig) ⇒ Object
Dup internal set.
19 20 21 22 |
# File 'lib/might/filter_parameters.rb', line 19 def initialize_dup(orig) super @parameters = orig.parameters.dup end |
#map(&block) ⇒ Object
62 63 64 |
# File 'lib/might/filter_parameters.rb', line 62 def map(&block) self.class.new(parameters.map(&block)) end |