module Metamorpher::Builders::Ruby::Term

Public Instance Methods

deriving(variable_name, *base_names, &derivation) click to toggle source
# File lib/metamorpher/builders/ruby/term.rb, line 17
def deriving(variable_name, *base_names, &derivation)
  accept_and_decorate(
    DerivingVisitor.new(
      variable_name.downcase.to_sym,
      *base_names.map { |n| n.downcase.to_sym },
      derivation
    )
  )
end
ensuring(variable_name, &condition) click to toggle source
# File lib/metamorpher/builders/ruby/term.rb, line 8
def ensuring(variable_name, &condition)
  accept_and_decorate(
    EnsuringVisitor.new(
      variable_name.downcase.to_sym,
      condition
    )
  )
end

Private Instance Methods

accept_and_decorate(visitor) click to toggle source
# File lib/metamorpher/builders/ruby/term.rb, line 29
def accept_and_decorate(visitor)
  accept(visitor).extend(Term)
end