Class: Wongi::Engine::AssumingClause
- Inherits:
-
Object
- Object
- Wongi::Engine::AssumingClause
- Defined in:
- lib/wongi-engine/dsl/assuming.rb
Instance Attribute Summary collapse
-
#base_rule_name ⇒ Object
readonly
Returns the value of attribute base_rule_name.
Instance Method Summary collapse
- #compile(context) ⇒ Object
-
#initialize(base_rule_name) ⇒ AssumingClause
constructor
A new instance of AssumingClause.
Constructor Details
#initialize(base_rule_name) ⇒ AssumingClause
Returns a new instance of AssumingClause.
17 18 19 |
# File 'lib/wongi-engine/dsl/assuming.rb', line 17 def initialize base_rule_name @base_rule_name = base_rule_name end |
Instance Attribute Details
#base_rule_name ⇒ Object (readonly)
Returns the value of attribute base_rule_name.
15 16 17 |
# File 'lib/wongi-engine/dsl/assuming.rb', line 15 def base_rule_name @base_rule_name end |
Instance Method Details
#compile(context) ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/wongi-engine/dsl/assuming.rb', line 21 def compile context base_production = context.rete.productions[base_rule_name] raise UndefinedBaseRule.new(base_rule_name) unless base_production raise DefinitionError.new("'assuming' cannot be preceded by other matchers") unless context.node.root? raise StandardError.new("missing base context") unless base_production.compilation_context base_production.compilation_context.dup end |