Class: Enumex::Extenders::EveryTimeExtender

Inherits:
Object
  • Object
show all
Defined in:
lib/enumex/extenders/every_time_extender.rb

Constant Summary collapse

Port =
Module.new do
  def every_time(&block)
    EveryTimeExtender.new(self, &block).value
  end
end

Instance Method Summary collapse

Constructor Details

#initialize(base, &block) ⇒ EveryTimeExtender

Returns a new instance of EveryTimeExtender.



10
11
12
13
14
15
# File 'lib/enumex/extenders/every_time_extender.rb', line 10

def initialize(base, &block)
  @base = base
  @block = block
  base.extenders << self if block_given?
  base.enumerator ? base.run : base
end

Instance Method Details

#execute(*args) ⇒ Object



20
21
22
# File 'lib/enumex/extenders/every_time_extender.rb', line 20

def execute(*args)
  block.call(*args) if block
end

#resetObject



17
18
# File 'lib/enumex/extenders/every_time_extender.rb', line 17

def reset
end

#valueObject



24
25
26
# File 'lib/enumex/extenders/every_time_extender.rb', line 24

def value
  base.enumerator ? base.run : base
end