Class: Commutator::ItemModifiers

Inherits:
Object
  • Object
show all
Defined in:
lib/commutator/item_modifiers.rb

Instance Method Summary collapse

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_modifiersObject

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 expand_proc_modifiers
  return self unless factory?

  self.class.new(@modifiers.map(&:call))
end

#factory?Boolean

Returns:

  • (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