<<(scope)
click to toggle source
def <<(scope)
@chain << scope
end
[](name)
click to toggle source
def [](name)
property = has_property?(name)
return property if property
@chain.last.properties[name]
end
[]=(name, value)
click to toggle source
def []=(name, value)
@chain.last.properties[name] = value
end
has_property?(name)
click to toggle source
def has_property?(name)
scope = @chain.reverse.find { |x|
x.has_property?(name)
}
scope ? scope[name] : nil
end
new_scope() { |self| ... }
click to toggle source
def new_scope(&block)
@chain << Scope.new
result = yield(self)
@chain.pop
result
end
pop()
click to toggle source
return(=(value))
click to toggle source
def return=(value)
@chain.last.return = value
end
returned?()
click to toggle source
def returned?
@chain.last.returned?
end
this()
click to toggle source