Class: Commutator::ItemModifiers
- Inherits:
-
Object
- Object
- Commutator::ItemModifiers
- Defined in:
- lib/commutator/item_modifiers.rb
Instance Method Summary collapse
-
#expand_proc_modifiers ⇒ Object
This is a mess, but I wasn’t sure how else to guarantee to call Procs at the time of collection creation.
- #factory? ⇒ Boolean
-
#initialize(modifiers, factory: false) ⇒ ItemModifiers
constructor
A new instance of ItemModifiers.
- #modify(item) ⇒ Object
Constructor Details
#initialize(modifiers, factory: false) ⇒ ItemModifiers
Returns a new instance of ItemModifiers.
3 4 5 6 |
# File 'lib/commutator/item_modifiers.rb', line 3 def initialize(modifiers, factory: false) @modifiers = modifiers @factory = factory end |
Instance Method Details
#expand_proc_modifiers ⇒ Object
This is a mess, but I wasn’t sure how else to guarantee to call Procs at the time of collection creation
14 15 16 17 18 |
# File 'lib/commutator/item_modifiers.rb', line 14 def return self unless factory? self.class.new(@modifiers.map(&:call)) end |
#factory? ⇒ Boolean
8 9 10 |
# File 'lib/commutator/item_modifiers.rb', line 8 def factory? @factory end |
#modify(item) ⇒ Object
20 21 22 |
# File 'lib/commutator/item_modifiers.rb', line 20 def modify(item) @modifiers.each { |modifier| modifier.call(item) } end |