Class: Gensym

Inherits:
Object
  • Object
show all
Defined in:
lib/gensym.rb

Constant Summary collapse

ALPHABET =
("A".."Z").to_a + ("a".."z").to_a
PREFIX =
"gensym_"
SUFFIX_LENGTH =
30
VERSION =
"0.1.0"

Instance Method Summary collapse

Constructor Details

#initialize(callsite_binding, generator = nil) ⇒ Gensym

Returns a new instance of Gensym.



7
8
9
10
# File 'lib/gensym.rb', line 7

def initialize(callsite_binding, generator = nil)
  @callsite_binding = callsite_binding
  @symbol_generator = generator || new_symbol_generator
end

Instance Method Details

#generateObject



12
13
14
# File 'lib/gensym.rb', line 12

def generate
  symbol_generator.detect { |symbol| !bound?(symbol) }
end