wongi-engine 0.2.3 → 0.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -0
- data/lib/wongi-engine/data_overlay.rb +6 -2
- data/lib/wongi-engine/token.rb +6 -0
- data/lib/wongi-engine/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1db8be28472e187de40486b1ab4125fa859ac3a8
|
4
|
+
data.tar.gz: a1eb809ba4b74ff99c58356a4ca28b75482e0bbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7a11f0b446bfa411a02e7447f67759ce39bca74797bcef00d0c86999167bad292bb012a18ee02c169ed2c2e8e345be9fce5d6d421013a8c15b1bcc0cb989b751
|
7
|
+
data.tar.gz: cec060f0a03789f5d811267364f6b4e75ec09379099eeb49317175ca72dd36a292e1380fda30424b4ad68a223ed70d2b566fb1f08f3905e1c433053abc1d3d56
|
data/README.md
CHANGED
@@ -7,6 +7,8 @@ module Wongi::Engine
|
|
7
7
|
def initialize(rete, parent = nil)
|
8
8
|
@rete = rete
|
9
9
|
@parent = parent
|
10
|
+
@raw_wmes = Hash.new { |h, k| h[k] = [] }
|
11
|
+
@raw_tokens = Hash.new { |h, k| h[k] = [] }
|
10
12
|
rete.add_overlay(self)
|
11
13
|
end
|
12
14
|
|
@@ -35,6 +37,10 @@ module Wongi::Engine
|
|
35
37
|
def dispose
|
36
38
|
return if self == rete.default_overlay
|
37
39
|
rete.remove_overlay(self)
|
40
|
+
@raw_tokens.values.each do |tokens|
|
41
|
+
tokens.each(&:dispose!)
|
42
|
+
end
|
43
|
+
@raw_tokens.clear
|
38
44
|
end
|
39
45
|
|
40
46
|
def <<(thing)
|
@@ -128,12 +134,10 @@ module Wongi::Engine
|
|
128
134
|
end
|
129
135
|
|
130
136
|
def raw_wmes(alpha)
|
131
|
-
@raw_wmes ||= Hash.new { |h, k| h[k] = [] }
|
132
137
|
@raw_wmes[alpha.object_id]
|
133
138
|
end
|
134
139
|
|
135
140
|
def raw_tokens(beta)
|
136
|
-
@raw_tokens ||= Hash.new { |h, k| h[k] = [] }
|
137
141
|
@raw_tokens[beta.object_id]
|
138
142
|
end
|
139
143
|
end
|
data/lib/wongi-engine/token.rb
CHANGED
@@ -69,6 +69,12 @@ module Wongi::Engine
|
|
69
69
|
deleted!
|
70
70
|
end
|
71
71
|
|
72
|
+
def dispose!
|
73
|
+
parent.children.delete(self) if parent
|
74
|
+
@parent = nil
|
75
|
+
@wme = nil
|
76
|
+
end
|
77
|
+
|
72
78
|
# for neg feedback loop protection
|
73
79
|
def generated? wme
|
74
80
|
return true if generated_wmes.any? { |w| w == wme }
|
data/lib/wongi-engine/version.rb
CHANGED
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.2.
|
4
|
+
version: 0.2.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Valeri Sokolov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|