Class: Specifier::Definition

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

Overview

Configures a definition (used for let statements).

Usage:

definition = Specifier::Definition.new("...") do
  # ...
end

definition.define(object)

Instance Method Summary collapse

Constructor Details

#initialize(name, &block) ⇒ Definition

Returns a new instance of Definition.



15
16
17
18
# File 'lib/specifier/definition.rb', line 15

def initialize(name, &block)
  @name = name
  @memoizer = Memoizer.new(&block)
end

Instance Method Details

#define(object) ⇒ Object



20
21
22
23
24
25
# File 'lib/specifier/definition.rb', line 20

def define(object)
  memoizer = @memoizer
  object.define_singleton_method(@name) do
    memoizer.evaluate
  end
end