Skip to content

Commit

Permalink
Fix Error Collector
Browse files Browse the repository at this point in the history
We fix the method signature of ErrorCollector#rete= and ensure that this
method properly sets the error collector on the rete.
  • Loading branch information
Ryan Kowalick committed Dec 29, 2015
1 parent 382b4b7 commit bd0969d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
4 changes: 2 additions & 2 deletions lib/wongi-engine/dsl/action/error_generator.rb
Expand Up @@ -6,9 +6,9 @@ def initialize message = nil, &messenger
@message, @messenger = message, messenger
end

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

def errors
Expand Down
17 changes: 17 additions & 0 deletions spec/high_level_spec.rb
Expand Up @@ -160,6 +160,23 @@ def rete

end

it "should properly show error messages" do
rete << rule("Error rule") {
forall {
has :_, :_, :TestNumber
greater :TestNumber, 0
}
make {
error "An error has occurred"
}
}

rete << [ "A", "B", 1 ]

error_messages = rete.errors.map(&:message)
expect(error_messages).to eq(["An error has occurred"])
end

it 'should use generic collectors' do

rete << rule('generic-collector') {
Expand Down

0 comments on commit bd0969d

Please sign in to comment.