class RPetri::Node

Attributes

block[R]
name[R]
options[R]

Public Class Methods

new(name = nil, options = {}, &block) click to toggle source
Calls superclass method
# File lib/rpetri/objects/node.rb, line 5
def initialize(name = nil, options = {}, &block)
  @name = name
  @options = options
  @block = block
  super()
end

Public Instance Methods

method_missing(method, *args, &block) click to toggle source
Calls superclass method
# File lib/rpetri/objects/node.rb, line 18
def method_missing(method, *args, &block)
  if eval_context.respond_to?(method)
    eval_context.send(method, *args, &block)
  else
    super
  end
end
respond_to_missing?(method, _include_private = false) click to toggle source
# File lib/rpetri/objects/node.rb, line 26
def respond_to_missing?(method, _include_private = false)
  eval_context.respond_to?(method)
end
run(options = {}) click to toggle source
# File lib/rpetri/objects/node.rb, line 12
def run(options = {})
  return unless @block
  @eval_context = options[:context]
  eval_context.instance_eval(&@block)
end

Protected Instance Methods

described_context() click to toggle source
# File lib/rpetri/objects/node.rb, line 36
def described_context
  @described_context ||= eval('self', @block.binding, __FILE__, __LINE__)
end
eval_context() click to toggle source
# File lib/rpetri/objects/node.rb, line 32
def eval_context
  @eval_context || described_context
end