Class: Enumerator

Class | Enumerator
In: | lib/core/facets/to_hash.rb lib/more/facets/enumerator.rb
Parent: | Object

### Methods

new to_h to_h_assoc to_h_auto to_h_flat to_h_multi to_h_splat

### External Aliases

initialize | -> | old_initialize

### Public Class methods

new(*args, &block)

Provides the ruby-1.9 block form of Enumerator, where you can write:

       obj = Enumerator.new do |yielder|
          .. do stuff
          yielder.yield data      # or: yielder << data
          .. etc
       end

When obj.each is called, the block is run once. It should call yielder.yield with each item it wishes to generate.

Example:

      fib = Enumerator.new { |y|
        a = b = 1
        loop {
          y << a
          a, b = b, a + b
        }
      }

      assert_equal [1, 1, 2, 3, 5, 8, 13, 21, 34, 55], fib.take(10)

[Source]

    # File lib/more/facets/enumerator.rb, line 35
      def initialize(*args, &block)
        if block_given?
          @body = block
          old_initialize(self, :_start)
        else
          old_initialize(*args)
        end
      end

### Public Instance methods

to_h(mode=nil)

Convert an Enumerator object into a hash. This is equivalent to Array#to_h.

      e1 = [[1,:a],[2,:b],[3,:c]].to_enum
      e1.to_h #=> { 1=>:a, 2=>:b, 3=>:c }

      e2 = [1,2,3,4,5].to_enum
      e2.to_h  #=> {5=>nil, 1=>2, 3=>4}

      e3 = [1,2,1,3,1,5].to_enum
      e3.to_h #=> {1=>5}

CREDIT: Sandor Szücs

[Source]

    # File lib/core/facets/to_hash.rb, line 285
      def to_h(mode=nil)
        to_a.to_h(mode)
      end

to_h_assoc()

This is equivalent to Array#to_h_assoc.

[Source]

    # File lib/core/facets/to_hash.rb, line 309
      def to_h_assoc
        to_a.to_h_assoc
      end

to_h_auto()

This is equivalent to Array#to_h_auto.

[Source]

    # File lib/core/facets/to_hash.rb, line 291
      def to_h_auto
        to_a.to_h_auto
      end

to_h_flat()

This is equivalent to Array#to_h_flat.

[Source]

    # File lib/core/facets/to_hash.rb, line 303
      def to_h_flat
        to_a.to_h_flat
      end

to_h_multi()

This is equivalent to Array#to_h_multi.

[Source]

    # File lib/core/facets/to_hash.rb, line 315
      def to_h_multi
        to_a.to_h_multi
      end

to_h_splat()

This is equivalent to Array#to_h_splat.

[Source]

    # File lib/core/facets/to_hash.rb, line 297
      def to_h_splat
        to_a.to_h_splat
      end

[Validate]