class JCR::Context
Attributes
callbacks[RW]
catalog[RW]
failed_roots[RW]
failure_report[RW]
failure_report_line_length[RW]
id[RW]
mapping[RW]
roots[RW]
trace[RW]
tree[RW]
Public Class Methods
new( ruleset = nil, trace = false )
click to toggle source
# File lib/jcr/jcr.rb, line 64 def initialize( ruleset = nil, trace = false ) @trace = trace @failed_roots = [] if ruleset ingested = JCR.ingest_ruleset( ruleset, nil, nil ) @mapping = ingested.mapping @callbacks = ingested.callbacks @id = ingested.id @tree = ingested.tree @roots = ingested.roots end @failure_report_line_length = 80 end
Public Instance Methods
add_ruleset_alias( ruleset_alias, alias_uri )
click to toggle source
# File lib/jcr/jcr.rb, line 36 def add_ruleset_alias( ruleset_alias, alias_uri ) unless @catalog @catalog = Hash.new end @catalog[ ruleset_alias ] = alias_uri end
evaluate( data, root_name = nil )
click to toggle source
# File lib/jcr/jcr.rb, line 60 def evaluate( data, root_name = nil ) JCR.evaluate_ruleset( data, self, root_name ) end
map_ruleset_alias( ruleset_alias, alias_uri )
click to toggle source
# File lib/jcr/jcr.rb, line 49 def map_ruleset_alias( ruleset_alias, alias_uri ) if @catalog a = @catalog[ ruleset_alias ] if a return a end end #else return alias_uri end
override( ruleset )
click to toggle source
# File lib/jcr/jcr.rb, line 78 def override( ruleset ) overridden = JCR.ingest_ruleset( ruleset, @mapping, nil ) mapping = {} mapping.merge!( @mapping ) mapping.merge!( overridden.mapping ) overridden.mapping=mapping callbacks = {} callbacks.merge!( @callbacks ) callbacks.merge!( overridden.callbacks ) overridden.callbacks = callbacks overridden.roots.concat( @roots ) return overridden end
override!( ruleset )
click to toggle source
# File lib/jcr/jcr.rb, line 92 def override!( ruleset ) overridden = JCR.ingest_ruleset( ruleset, @mapping, nil ) @mapping.merge!( overridden.mapping ) @callbacks.merge!( overridden.callbacks ) @roots.concat( overridden.roots ) end
remove_ruleset_alias( ruleset_alias )
click to toggle source
# File lib/jcr/jcr.rb, line 43 def remove_ruleset_alias( ruleset_alias ) if @catalog @catalog.delete( ruleset_alias ) end end