Class: Wongi::Engine::DSL::Action::ErrorGenerator

Inherits:
Base
  • Object
show all
Defined in:
lib/wongi-engine/dsl/action/error_generator.rb

Instance Attribute Summary

Attributes inherited from Base

#name, #production, #rete, #rule

Instance Method Summary collapse

Methods included from CoreExt

included

Constructor Details

#initialize(message = nil, &messenger) ⇒ ErrorGenerator

Returns a new instance of ErrorGenerator.



5
6
7
# File 'lib/wongi-engine/dsl/action/error_generator.rb', line 5

def initialize message = nil, &messenger
  @message, @messenger = message, messenger
end

Instance Method Details

#errorsObject



14
15
16
17
18
19
20
21
22
23
# File 'lib/wongi-engine/dsl/action/error_generator.rb', line 14

def errors
  production.tokens.map do |token|
    message = if @messenger
      @messenger.call token.assignments
    else
      @message
    end
    ReteError.new token, message, literate?
  end
end

#literate?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/wongi-engine/dsl/action/error_generator.rb', line 25

def literate?
  not @messenger.nil?
end

#rete=Object



9
10
11
12
# File 'lib/wongi-engine/dsl/action/error_generator.rb', line 9

def rete=
  super
  rete.add_collector :error, self
end