class Paradocs::Context
Attributes
environment[R]
path[R]
top[R]
Public Class Methods
new(path=nil, top=Top.new, environment={}, subschemes={})
click to toggle source
# File lib/paradocs/context.rb, line 17 def initialize(path=nil, top=Top.new, environment={}, subschemes={}) @top = top @path = Array(path).compact @environment = environment @subschemes = subschemes end
Public Instance Methods
add_error(msg)
click to toggle source
# File lib/paradocs/context.rb, line 35 def add_error(msg) top.add_error(string_path, msg) end
errors()
click to toggle source
# File lib/paradocs/context.rb, line 31 def errors top.errors end
sub(key)
click to toggle source
# File lib/paradocs/context.rb, line 39 def sub(key) self.class.new(path + [key], top, environment, @subschemes) end
subschema(subschema_name)
click to toggle source
# File lib/paradocs/context.rb, line 24 def subschema(subschema_name) subschema = @subschemes[subschema_name] return unless subschema @subschemes.merge!(subschema.subschemes) subschema end
Protected Instance Methods
string_path()
click to toggle source
# File lib/paradocs/context.rb, line 46 def string_path path.reduce(['$']) do |m, segment| m << (segment.is_a?(Integer) ? "[#{segment}]" : ".#{segment}") m end.join end