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

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

Instance Attribute Summary

Attributes inherited from BaseAction

#name, #production, #rete, #rule

Instance Method Summary collapse

Methods inherited from BaseAction

#overlay

Methods included from CoreExt

included

Constructor Details

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

Returns a new instance of ErrorGenerator.



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

def initialize(message = nil, &messenger)
  super()
  @message = message
  @messenger = messenger
end

Instance Method Details

#errorsObject



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

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)


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

def literate?
  !@messenger.nil?
end

#rete=Object



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

def rete=(*)
  super
  rete.add_collector self, :error
end