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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c109ed3ef0a3a3cba8c8e5defde6ba32e4b5160cc2fd4b8d9d2a2c181453df6
4
- data.tar.gz: 38d01627cce8f28cf8566d438a20aef0a7f609a2f1512c782fc289043efbb40a
3
+ metadata.gz: 1dec293caa1b54a261cf73751e98851919ca9a7333e009f66ea773156b0881f2
4
+ data.tar.gz: 07c7cc80fafeb347f8a0556cd28df349cf042e2ddc670cea88fbbfe7d6e2d1b2
5
5
  SHA512:
6
- metadata.gz: 8b586c21226e11c7fd3af8244e4e0941b5aa7c065e5a09755aceff68c979dc491f8d346aa4471584804d48cd70f1a5412dde80c8d624788a21e0b32055be169f
7
- data.tar.gz: 7098791a95a9a79e4e838434740f1517771221b6a880cbda32641fd0c07ab27409b6a371212b3ae2d405f18bff6998c62aac63feed500c619d796301c23efeb7
6
+ metadata.gz: ebd83c3a190c45558926a57d4c98318294e017ad5ae34f2f46ab4b132edb72996bfb9896f3d10cfe0fc16534d0d681aeb06138d39b36d49a3e35731b1c79e0be
7
+ data.tar.gz: 98decf4439ef0aa4f92063dc8c0274de84f845b8657396ab46926e7058cff7c9af1ea1e622abfb24ef5886fa43b5b3174b3560408915369fc8df44625d344ec0
data/Rakefile CHANGED
@@ -6,7 +6,7 @@ require 'rake/testtask'
6
6
  Rake::TestTask.new(:test) do |t|
7
7
  t.libs << 'test'
8
8
  t.libs << 'lib'
9
- t.test_files = FileList['test/**/test_*.rb']
9
+ t.test_files = FileList['test/**/test_*.rb', 'test/**/bench_*.rb']
10
10
  end
11
11
 
12
12
  require 'rubocop/rake_task'
@@ -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 result.key?('args') && @term.args.length >= 1
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
- @unix_domain_socket = nil
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(kill: false)
69
+ def stop
67
70
  @socket.close
68
71
  @stdin.close
69
72
  @stdout.close
70
73
  @stderr.close
71
- @process.kill if kill
72
- @process.close
74
+ @process.kill
75
+ @running = false
73
76
  end
74
77
  end
75
78
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PrologMQI
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.3'
5
5
  end
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.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-01 00:00:00.000000000 Z
11
+ date: 2023-07-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A PrologMQI implementation in Ruby.
14
14
  email: