prolog_mqi 0.1.1 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|