module Enumerator::Filter
Public Instance Methods
reject(&block)
click to toggle source
# File lib/core_ext/enumerator/filter.rb, line 6 def reject(&block) filter(false, &block) end
select(&block)
click to toggle source
# File lib/core_ext/enumerator/filter.rb, line 2 def select(&block) filter(true, &block) end
Private Instance Methods
filter(filter_val, &block)
click to toggle source
# File lib/core_ext/enumerator/filter.rb, line 11 def filter(filter_val, &block) Enumerator.new do |yielder| begin loop do val = self.next should_yield = block.call(val) == filter_val yielder << val if should_yield end rescue StopIteration end end end