Class: DeferredEnumerator::Select

Inherits:
DeferredEnumerator show all
Defined in:
lib/deferred_enum/select.rb

Overview

:nodoc:all

Instance Method Summary collapse

Methods included from DeferredEnumerable

#all?, #any?, #collect, #compact, #concat, #cycle, #drop, #drop_while, #flat_map, #flatten, #grep, #include?, #none?, #partition, #push, #reject, #select, #sort, #sort_by, #take, #take_while, #uniq, #zip

Methods included from Enumerable

#defer

Constructor Details

#initialize(obj, filter = nil) ⇒ Select

Returns a new instance of Select.



2
3
4
5
# File 'lib/deferred_enum/select.rb', line 2

def initialize(obj, filter = nil)
  @_filter = filter
  super(obj)
end

Instance Method Details

#eachObject



7
8
9
10
11
# File 'lib/deferred_enum/select.rb', line 7

def each
  return super unless block_given?

  super { |e| yield(e) if !@_filter || @_filter.call(e) }
end