Module Denumerable
In: lib/facets/core/facets/denumerable.rb

Denumerable

Classes which include Denumerable will get versions of map, select, and so on, which return a Denumerator, so that they work horizontally without creating intermediate arrays.

Methods

collect   find_all   map   reject   select   skip   take  

Public Instance methods

collect()

Alias for map

find_all()

Alias for select

[Source]

# File lib/facets/core/facets/denumerable.rb, line 13
  def map
    Denumerator.new do |output|
      each do |*input|
        output.yield yield(*input)
      end
    end
  end

[Source]

# File lib/facets/core/facets/denumerable.rb, line 33
  def reject
    Denumerator.new do |output|
      each do |*input|
        output.yield(*input) unless yield(*input)
      end
    end
  end

[Source]

# File lib/facets/core/facets/denumerable.rb, line 23
  def select
    Denumerator.new do |output|
      each do |*input|
        output.yield(*input) if yield(*input)
      end
    end
  end

Skip the first n items in the list

[Source]

# File lib/facets/core/facets/denumerable.rb, line 54
  def skip(n)
    Denumerator.new do |output|
      count = 0
      each do |*input|
        output.yield(*input) if count >= n
        count += 1
      end
    end
  end

Limit to the first n items in the list

[Source]

# File lib/facets/core/facets/denumerable.rb, line 42
  def take(n)
    Denumerator.new do |output|
      count = 0
      each do |*input|
        break if count >= n
        output.yield(*input)
        count += 1
      end
    end
  end

[Validate]