prolog_mqi 0.1.1 → 0.1.3
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 +4 -4
- data/Rakefile +1 -1
- data/lib/prolog_mqi/parser.rb +1 -1
- data/lib/prolog_mqi/prolog_mqi.rb +7 -4
- data/lib/prolog_mqi/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1dec293caa1b54a261cf73751e98851919ca9a7333e009f66ea773156b0881f2
|
4
|
+
data.tar.gz: 07c7cc80fafeb347f8a0556cd28df349cf042e2ddc670cea88fbbfe7d6e2d1b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebd83c3a190c45558926a57d4c98318294e017ad5ae34f2f46ab4b132edb72996bfb9896f3d10cfe0fc16534d0d681aeb06138d39b36d49a3e35731b1c79e0be
|
7
|
+
data.tar.gz: 98decf4439ef0aa4f92063dc8c0274de84f845b8657396ab46926e7058cff7c9af1ea1e622abfb24ef5886fa43b5b3174b3560408915369fc8df44625d344ec0
|
data/Rakefile
CHANGED
data/lib/prolog_mqi/parser.rb
CHANGED
@@ -15,7 +15,7 @@ module PrologMQI
|
|
15
15
|
# rubocop:disable Metrics/CyclomaticComplexity
|
16
16
|
def handle_error
|
17
17
|
return unless @term.name == 'exception'
|
18
|
-
raise PrologError, @term unless
|
18
|
+
raise PrologError, @term unless @term.args && @term.args.length >= 1
|
19
19
|
|
20
20
|
case @term.args[0]
|
21
21
|
when 'no_more_results'
|
@@ -6,7 +6,7 @@ module PrologMQI
|
|
6
6
|
@timeout = timeout
|
7
7
|
|
8
8
|
@process = nil
|
9
|
-
@
|
9
|
+
@socket = nil
|
10
10
|
@running = false
|
11
11
|
end
|
12
12
|
|
@@ -22,6 +22,8 @@ module PrologMQI
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def start
|
25
|
+
raise LaunchError, 'PrologMQI is already running' if running?
|
26
|
+
|
25
27
|
# Start prolog process
|
26
28
|
@stdin, @stdout, @stderr, @process =
|
27
29
|
Open3.popen3('swipl', '--quiet', '-g', 'mqi_start', '-t', 'halt', '--', '--write_connection_values=true',
|
@@ -38,6 +40,7 @@ module PrologMQI
|
|
38
40
|
end
|
39
41
|
|
40
42
|
# Authenticate
|
43
|
+
@running = true
|
41
44
|
write(password)
|
42
45
|
read
|
43
46
|
end
|
@@ -63,13 +66,13 @@ module PrologMQI
|
|
63
66
|
@socket.write(message)
|
64
67
|
end
|
65
68
|
|
66
|
-
def stop
|
69
|
+
def stop
|
67
70
|
@socket.close
|
68
71
|
@stdin.close
|
69
72
|
@stdout.close
|
70
73
|
@stderr.close
|
71
|
-
@process.kill
|
72
|
-
@
|
74
|
+
@process.kill
|
75
|
+
@running = false
|
73
76
|
end
|
74
77
|
end
|
75
78
|
end
|
data/lib/prolog_mqi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prolog_mqi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Delton Ding
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A PrologMQI implementation in Ruby.
|
14
14
|
email:
|