class Commutator::ItemModifiers

Public Class Methods

new(modifiers, factory: false) click to toggle source
# File lib/commutator/item_modifiers.rb, line 3
def initialize(modifiers, factory: false)
  @modifiers = modifiers
  @factory = factory
end

Public Instance Methods

expand_proc_modifiers() click to toggle source

This is a mess, but I wasn’t sure how else to guarantee to call Procs at the time of collection creation

# File lib/commutator/item_modifiers.rb, line 14
def expand_proc_modifiers
  return self unless factory?

  self.class.new(@modifiers.map(&:call))
end
factory?() click to toggle source
# File lib/commutator/item_modifiers.rb, line 8
def factory?
  @factory
end
modify(item) click to toggle source
# File lib/commutator/item_modifiers.rb, line 20
def modify(item)
  @modifiers.each { |modifier| modifier.call(item) }
end