wongi-engine 0.0.12 → 0.0.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f64f3af9dd931ad41bf4e2ec9b9da00d8a39b5d6
4
- data.tar.gz: 3f447b1c151f3d353370c9437dcfdd578a15f4c7
3
+ metadata.gz: af6f8430d35f36788bb67f833fe4770977a58d74
4
+ data.tar.gz: 422a1b976bc9305efbabbc6c2b6fd948c365e525
5
5
  SHA512:
6
- metadata.gz: 59a07a77cefe0df4bc7785dcbd3da631f8560709c5ab4780198e8577c59f39ba95bc006c9c66dd21fdfd853d8e47ef4ed70101602462fc817a03ab08f3cbe0b9
7
- data.tar.gz: dcc37f6dd8324b719bb79cf17a44f3e025bf287dfbc0e70decfb31c9815bd72a5bb82c523c1a9963be1d1706107af3d1f50b495d9659fec88fb8b6f0e958ec4c
6
+ metadata.gz: f3e5c7893e0da05c41dca1de9c670d45ca164cfc8588477e9af76a26e21e264f30e9e28918f2fa633af2cf4a7d114898c191f04ecad7067bc385b74fd4077740
7
+ data.tar.gz: a3cf8390e7c706612e1862c4b73633dac0d11f78f469929ad09d0d89c9d39a200f2ff2f1644e3ad325d05ad99d7a7a0aaf5d7904790dff07800e4f43992c2390
data/README.md CHANGED
@@ -448,6 +448,10 @@ The Rete implementation in this library largely follows the outline presented in
448
448
 
449
449
  ## Changelog
450
450
 
451
+ ### 0.0.13
452
+
453
+ * fixed a bug with recursive generations of multiple facts
454
+
451
455
  ### 0.0.12
452
456
 
453
457
  * fixed another NCC bug
@@ -13,11 +13,12 @@ module Wongi
13
13
 
14
14
  def beta_activate token, wme, assignments
15
15
  super
16
+ generated = tokens.last
16
17
  @actions.each do |action|
17
18
  # @tokens.each do |t|
18
19
  # action.execute t
19
20
  # end
20
- action.execute tokens.last if action.respond_to? :execute
21
+ action.execute generated if action.respond_to? :execute
21
22
  end
22
23
  end
23
24
 
@@ -1,5 +1,5 @@
1
1
  module Wongi
2
2
  module Engine
3
- VERSION = "0.0.12"
3
+ VERSION = "0.0.13"
4
4
  end
5
5
  end
@@ -62,6 +62,28 @@ describe 'the engine' do
62
62
  rete.facts.select( &:manual? ).should have(2).items
63
63
  end
64
64
 
65
+ it 'should not get confused by recursive activations' do
66
+
67
+ rete << rule('reflexive') {
68
+ forall {
69
+ has :Predicate, "reflexive", true
70
+ has :X, :Predicate, :Y
71
+ }
72
+ make {
73
+ gen :X, :Predicate, :X
74
+ gen :Y, :Predicate, :Y
75
+ }
76
+ }
77
+
78
+ rete << [:p, "reflexive", true]
79
+ rete << [:x, :p, :y]
80
+
81
+ expect( rete ).to have(4).wmes
82
+ expect( rete.select :x, :p, :x ).to have(1).items
83
+ expect( rete.select :y, :p, :y ).to have(1).items
84
+
85
+ end
86
+
65
87
  end
66
88
 
67
89
  it 'should check equality' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wongi-engine
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Valeri Sokolov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-22 00:00:00.000000000 Z
11
+ date: 2013-10-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A rule engine.
14
14
  email:
@@ -17,9 +17,9 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
- - .gitignore
21
- - .ruby-gemset
22
- - .ruby-version
20
+ - ".gitignore"
21
+ - ".ruby-gemset"
22
+ - ".ruby-version"
23
23
  - Gemfile
24
24
  - LICENSE
25
25
  - README.md
@@ -105,12 +105,12 @@ require_paths:
105
105
  - lib
106
106
  required_ruby_version: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
111
  required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  requirements:
113
- - - '>='
113
+ - - ">="
114
114
  - !ruby/object:Gem::Version
115
115
  version: '0'
116
116
  requirements: []