Class: Enumex::Extenders::EveryOnceExtender
- Inherits:
-
Object
- Object
- Enumex::Extenders::EveryOnceExtender
- Extended by:
- Forwardable
- Defined in:
- lib/enumex/extenders/every_once_extender.rb
Defined Under Namespace
Classes: Counter
Constant Summary collapse
- Port =
Module.new do def every_once(number) EveryOnceExtender.new(self, number) end end
Instance Method Summary collapse
-
#initialize(base, number) ⇒ EveryOnceExtender
constructor
A new instance of EveryOnceExtender.
- #times(&block) ⇒ Object
Constructor Details
#initialize(base, number) ⇒ EveryOnceExtender
Returns a new instance of EveryOnceExtender.
14 15 16 17 18 |
# File 'lib/enumex/extenders/every_once_extender.rb', line 14 def initialize(base, number) raise ArgumentError if number.to_i <= 0 @base = base @executor = Counter.new(number) end |
Instance Method Details
#times(&block) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/enumex/extenders/every_once_extender.rb', line 20 def times(&block) executor.block = block base.extenders << self if block_given? base.enumerator ? base.run : base end |