class Environment
Attributes
defaults[R]
parent[R]
Public Class Methods
new(parent=nil, defaults={})
click to toggle source
# File lib/forsta/environment.rb, line 4 def initialize(parent=nil, defaults={}) @parent = parent @defaults = defaults end
Public Instance Methods
define(symbol, value)
click to toggle source
# File lib/forsta/environment.rb, line 9 def define(symbol, value) defaults[symbol] = value end
defined?(symbol)
click to toggle source
# File lib/forsta/environment.rb, line 13 def defined?(symbol) defaults.has_key?(symbol) || (parent && parent.defined?(symbol)) end
lookup(symbol)
click to toggle source
# File lib/forsta/environment.rb, line 17 def lookup(symbol) defaults[symbol] || (parent && parent.lookup(symbol)) || raise("#{symbol} is undefined") end
set(symbol, value)
click to toggle source
# File lib/forsta/environment.rb, line 22 def set(symbol, value) if defaults.has_key?(symbol) defaults[symbol] = value elsif parent.nil? raise("#{symbol} was undefined") else parent.set(symbol, value) end end