class Specifier::Definition

Configures a definition (used for let statements).

Usage:

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

definition.define(object)

Public Class Methods

new(name, &block) click to toggle source
# File lib/specifier/definition.rb, line 15
def initialize(name, &block)
  @name = name
  @memoizer = Memoizer.new(&block)
end

Public Instance Methods

define(object) click to toggle source
# File lib/specifier/definition.rb, line 20
def define(object)
  memoizer = @memoizer
  object.define_singleton_method(@name) do
    memoizer.evaluate
  end
end