wongi-engine 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []