wongi-engine 0.4.2 → 0.4.3

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
  SHA256:
3
- metadata.gz: 461346062a679921c61fc0b35bc2e89ef0d06920745d650b48fedbbc452b780a
4
- data.tar.gz: df2bf13a3551dc049e08398b11ac42440a34e4cb651f5092b74d3efdd5a3aecf
3
+ metadata.gz: 50a09c260719428841f2e5608174b0858c6395dcb08590d7c4ee5adbd8ac0870
4
+ data.tar.gz: b31cf13a77e4737f7970d1cca666d5307d7deca8bc3b19260c0b2a0022924973
5
5
  SHA512:
6
- metadata.gz: 0a3495df610621e35c8cef1a0cbf39aa0b26a8cee6d699df2bf4cdb451f4c06db534d7943bb4f30778d21289406d54ba0264f54ecfe3b839e3b1d50ccd6b63b3
7
- data.tar.gz: 8f85d69a8f476eec9a6ee8cf97ade3a4b8e9959616114511ca65007cd225feb0963613750628a450d5ea5f905fcaed65082662db828491a7caa9c533dc70db37
6
+ metadata.gz: 8e37e29b39fdb64049d50df909da0c08b069f125de785e76af4227baddb96823a940a9919db0afa84826de10118e383ef8cc51ec795ed1b6f99c684c3f5cf685
7
+ data.tar.gz: '096ad134e4971b5aa1f73a0d7f3d7e471b9f9fbeb34ac176f2629d3e108cc65409b64eb8240cbb6eec7e8d12ad21c72cd758c97a40a91c1c7b38f1b307fc2297'
data/examples/ex01.rb CHANGED
@@ -1,23 +1,21 @@
1
- include Wongi::Engine
1
+ engine = Wongi::Engine.create
2
2
 
3
- ds = Network.new
4
-
5
- ds << WME.new("Alice", "friend", "Bob")
3
+ engine << ["Alice", "friend", "Bob"]
6
4
 
7
5
  puts "Enumerate all:"
8
6
 
9
- ds.each do |wme|
7
+ engine.each do |wme|
10
8
  puts wme
11
9
  end
12
10
 
13
11
  puts "Enumerate by pattern:"
14
12
 
15
- ds.each :_, "friend", :_ do |wme|
13
+ engine.each :_, "friend", :_ do |wme|
16
14
  puts wme
17
15
  end
18
16
 
19
17
  puts "Mismatching pattern:"
20
18
 
21
- ds.each :_, "foe", :_ do |wme|
19
+ engine.each :_, "foe", :_ do |wme|
22
20
  puts wme
23
21
  end
@@ -155,7 +155,7 @@ module Wongi::Engine
155
155
  raise ArgumentError
156
156
  end
157
157
 
158
- each_by_template(template, &block)
158
+ each_by_template(template).each(&block)
159
159
  end
160
160
 
161
161
  def entity(subject)
@@ -1,5 +1,5 @@
1
1
  module Wongi
2
2
  module Engine
3
- VERSION = "0.4.2".freeze
3
+ VERSION = "0.4.3".freeze
4
4
  end
5
5
  end
data/spec/overlay_spec.rb CHANGED
@@ -68,6 +68,29 @@ describe Wongi::Engine::Overlay do
68
68
  expect(overlay.each(1, 11, 111)).to have(1).items
69
69
  expect(overlay.each(1, 11, 111).first).to eq(wmes.first)
70
70
  end
71
+
72
+ it 'iterates with a block' do
73
+ wmes = [
74
+ Wongi::Engine::WME.new(1, 11, 111),
75
+ Wongi::Engine::WME.new(1, 11, 112),
76
+ Wongi::Engine::WME.new(1, 11, 113),
77
+ Wongi::Engine::WME.new(1, 12, 121),
78
+ Wongi::Engine::WME.new(1, 12, 122),
79
+ Wongi::Engine::WME.new(2, 11, 111),
80
+ Wongi::Engine::WME.new(2, 11, 222),
81
+ Wongi::Engine::WME.new(2, 22, 222),
82
+ Wongi::Engine::WME.new(2, 22, 223),
83
+ Wongi::Engine::WME.new(3, 33, 113),
84
+ Wongi::Engine::WME.new(3, 33, 333),
85
+ Wongi::Engine::WME.new(3, 34, 333),
86
+ ]
87
+ wmes.each { overlay.assert(_1) }
88
+
89
+ returned = []
90
+ overlay.each { |wme| returned << wme }
91
+
92
+ expect(returned).to eq wmes
93
+ end
71
94
  end
72
95
 
73
96
  context "retracting facts" 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.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Valeri Sokolov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-15 00:00:00.000000000 Z
11
+ date: 2023-04-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -204,7 +204,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
204
  - !ruby/object:Gem::Version
205
205
  version: '0'
206
206
  requirements: []
207
- rubygems_version: 3.3.7
207
+ rubygems_version: 3.4.1
208
208
  signing_key:
209
209
  specification_version: 4
210
210
  summary: A forward-chaining rule engine in pure Ruby.