Skip to content

Instantly share code, notes, and snippets.

@maxott
Forked from jackhong/try_rete.rb
Created November 12, 2012 11:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maxott/4058964 to your computer and use it in GitHub Desktop.
Save maxott/4058964 to your computer and use it in GitHub Desktop.
Try omf rete
require 'pp'
require 'omf_rete/store'
N = 10
s = OMF::Rete::Store.create 3
(1..N).each do |i|
s.addTuple(["node_#{i}", 'status', (i % 2) == 0 ? 'ok' : 'failure'])
end
#tset = OMF::Rete::Store.create 3
#s.registerTSet(tset, [:node?, 'status', 'ok'])
pp s.find([:_, 'status', :_]).size
pp s.find([:_, 'status', 'ok']).size
s.subscribe(:check_nodes, [[:node?, 'status', 'ok']]) do |m|
puts "#{m[0]} ok"
end
puts '...'
s.addTuple(["node_#{10 + 2}", 'status', 'ok'])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment