module Pry::Memory::Generators

Module for generating generators (yes-yes)

@example

g = Pry::Memory::Generators.new { |counter| counter * 2}
g.generate
# => 2
g.next!; g.generate
# => 4

Two commonly used (probably) strategies are pre-defined:

1. :abc - generates a/b/c/d... sequence
2. :a1a2 - generates a1/a2/a3... sequence

Constants

PREDEFINED

Attributes

counter[W]

Public Instance Methods

counter() click to toggle source
# File lib/pry/memory/generators.rb, line 17
def counter
  @counter ||= 1
end
new(&block) click to toggle source
# File lib/pry/memory/generators.rb, line 26
def new(&block)
  Class.new do
    define_method :generate do
      block.call(Pry::Memory::Generators.counter)
    end

    define_method :next! do
      Pry::Memory::Generators.counter += 1
    end
  end.new
end
reset_counter!() click to toggle source
# File lib/pry/memory/generators.rb, line 22
def reset_counter!
  @counter = 1
end