grumlin 1.0.0.rc6 → 1.0.0.rc7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 532e0f94c094b94c4ad386ad8517ad38b829209f353f03a04e6233a8762deec4
4
- data.tar.gz: 57600edef6a55885fc7888180d53acc5c8e34469261477413c24a4c121419eac
3
+ metadata.gz: cf656a485be79f0ce06a1a091d3fb5421712ef05251150ff02ff5d12d867c777
4
+ data.tar.gz: 4ad9b95cfc61a9c41cdd0cb43ddd7ecc6686a1797a1162709b1c86cf512fb820
5
5
  SHA512:
6
- metadata.gz: 7d4818f7132322930f3e779fb9ef65086c88d7b7989775072224debeae6b79e29e6f1b0598205d061b7261483625eb449c38c591a6ae719cad255dbb8303d9cd
7
- data.tar.gz: 5fb44a15a91f158ace6596b889c7cf4189a76ef47a90734518b0adeee6a8e4d5846554178ded86875907cabd89020117de5961fffb1e4e742c2ff0a8955c4311
6
+ metadata.gz: '091041ce7819097c45dbf14c8ed50a3dc620f9a4be929d615934e0f131ed49f1684ecc3bdaf281f77a018c7c4db71e79e8fdb55039f447089e5700f6d5214edb'
7
+ data.tar.gz: 00067b1313025fb03bbbf336b5a7258a1ce7de33ab4756f697c916ee7610c54c8a8e28b804af2acf4c766a5de9e4e1188ecea13ba4af7a6b96cf34fcad1884f8
data/Gemfile.lock CHANGED
@@ -1,18 +1,18 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- grumlin (1.0.0.rc6)
5
- async-pool (~> 0.3)
6
- async-websocket (>= 0.19, < 0.20)
4
+ grumlin (1.0.0.rc7)
5
+ async-pool (~> 0.3.0)
6
+ async-websocket (~> 0.22.0)
7
7
  ibsciss-middleware (~> 0.4.0)
8
- oj (~> 3.13)
9
- retryable (~> 3.0)
10
- zeitwerk (~> 2.6)
8
+ oj (~> 3.13.0)
9
+ retryable (~> 3.0.0)
10
+ zeitwerk (~> 2.6.0)
11
11
 
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activesupport (7.0.3.1)
15
+ activesupport (7.0.4)
16
16
  concurrent-ruby (~> 1.0, >= 1.0.2)
17
17
  i18n (>= 1.6, < 2)
18
18
  minitest (>= 5.1)
@@ -22,14 +22,14 @@ GEM
22
22
  console (~> 1.10)
23
23
  nio4r (~> 2.3)
24
24
  timers (~> 4.1)
25
- async-http (0.59.2)
25
+ async-http (0.59.3)
26
26
  async (>= 1.25)
27
27
  async-io (>= 1.28)
28
28
  async-pool (>= 0.2)
29
29
  protocol-http (~> 0.23.1)
30
30
  protocol-http1 (~> 0.14.0)
31
31
  protocol-http2 (~> 0.14.0)
32
- traces (>= 0.4.0)
32
+ traces (>= 0.8.0)
33
33
  async-io (1.34.0)
34
34
  async
35
35
  async-pool (0.3.12)
@@ -38,16 +38,17 @@ GEM
38
38
  rspec (~> 3.0)
39
39
  rspec-files (~> 1.0)
40
40
  rspec-memory (~> 1.0)
41
- async-websocket (0.19.2)
41
+ async-websocket (0.22.1)
42
42
  async-http (~> 0.54)
43
43
  async-io (~> 1.23)
44
- protocol-websocket (~> 0.7.0)
44
+ protocol-rack (~> 0.1)
45
+ protocol-websocket (~> 0.9.1)
45
46
  backport (1.2.0)
46
47
  benchmark (0.2.0)
47
48
  benchmark-ips (2.10.0)
48
49
  childprocess (4.1.0)
49
50
  concurrent-ruby (1.1.10)
50
- console (1.15.3)
51
+ console (1.16.2)
51
52
  fiber-local
52
53
  dead_end (4.0.0)
53
54
  diff-lcs (1.5.0)
@@ -66,12 +67,16 @@ GEM
66
67
  rexml
67
68
  kramdown-parser-gfm (1.1.0)
68
69
  kramdown (~> 2.0)
69
- memory_profiler (1.0.0)
70
+ memory_profiler (1.0.1)
71
+ mini_portile2 (2.8.0)
70
72
  minitest (5.16.3)
71
73
  nio4r (2.5.8)
72
- nokogiri (1.13.8-x86_64-linux)
74
+ nokogiri (1.13.9)
75
+ mini_portile2 (~> 2.8.0)
73
76
  racc (~> 1.4)
74
- oj (3.13.21)
77
+ nokogiri (1.13.9-x86_64-linux)
78
+ racc (~> 1.4)
79
+ oj (3.13.23)
75
80
  overcommit (0.59.1)
76
81
  childprocess (>= 0.6.3, < 5)
77
82
  iniparse (~> 1.4)
@@ -86,51 +91,55 @@ GEM
86
91
  protocol-http2 (0.14.2)
87
92
  protocol-hpack (~> 1.4)
88
93
  protocol-http (~> 0.18)
89
- protocol-websocket (0.7.5)
94
+ protocol-rack (0.2.4)
95
+ protocol-http (~> 0.23)
96
+ rack (>= 1.0)
97
+ protocol-websocket (0.9.1)
90
98
  protocol-http (~> 0.2)
91
99
  protocol-http1 (~> 0.2)
92
100
  racc (1.6.0)
101
+ rack (3.0.0)
93
102
  rainbow (3.1.1)
94
103
  rake (13.0.6)
95
- regexp_parser (2.5.0)
104
+ regexp_parser (2.6.0)
96
105
  retryable (3.0.5)
97
106
  reverse_markdown (2.1.1)
98
107
  nokogiri
99
108
  rexml (3.2.5)
100
- rspec (3.11.0)
101
- rspec-core (~> 3.11.0)
102
- rspec-expectations (~> 3.11.0)
103
- rspec-mocks (~> 3.11.0)
104
- rspec-core (3.11.0)
105
- rspec-support (~> 3.11.0)
106
- rspec-expectations (3.11.0)
109
+ rspec (3.12.0)
110
+ rspec-core (~> 3.12.0)
111
+ rspec-expectations (~> 3.12.0)
112
+ rspec-mocks (~> 3.12.0)
113
+ rspec-core (3.12.0)
114
+ rspec-support (~> 3.12.0)
115
+ rspec-expectations (3.12.0)
107
116
  diff-lcs (>= 1.2.0, < 2.0)
108
- rspec-support (~> 3.11.0)
109
- rspec-files (1.1.2)
117
+ rspec-support (~> 3.12.0)
118
+ rspec-files (1.1.3)
110
119
  rspec (~> 3.0)
111
120
  rspec-memory (1.0.3)
112
121
  rspec (~> 3.0)
113
- rspec-mocks (3.11.1)
122
+ rspec-mocks (3.12.0)
114
123
  diff-lcs (>= 1.2.0, < 2.0)
115
- rspec-support (~> 3.11.0)
116
- rspec-support (3.11.0)
117
- rubocop (1.35.1)
124
+ rspec-support (~> 3.12.0)
125
+ rspec-support (3.12.0)
126
+ rubocop (1.38.0)
118
127
  json (~> 2.3)
119
128
  parallel (~> 1.10)
120
129
  parser (>= 3.1.2.1)
121
130
  rainbow (>= 2.2.2, < 4.0)
122
131
  regexp_parser (>= 1.8, < 3.0)
123
132
  rexml (>= 3.2.5, < 4.0)
124
- rubocop-ast (>= 1.20.1, < 2.0)
133
+ rubocop-ast (>= 1.23.0, < 2.0)
125
134
  ruby-progressbar (~> 1.7)
126
135
  unicode-display_width (>= 1.4.0, < 3.0)
127
- rubocop-ast (1.21.0)
136
+ rubocop-ast (1.23.0)
128
137
  parser (>= 3.1.1.0)
129
- rubocop-performance (1.14.3)
138
+ rubocop-performance (1.15.0)
130
139
  rubocop (>= 1.7.0, < 2.0)
131
140
  rubocop-ast (>= 0.4.0)
132
- rubocop-rspec (2.12.1)
133
- rubocop (~> 1.31)
141
+ rubocop-rspec (2.15.0)
142
+ rubocop (~> 1.33)
134
143
  ruby-prof (1.4.3)
135
144
  ruby-progressbar (1.11.0)
136
145
  simplecov (0.21.2)
@@ -139,7 +148,7 @@ GEM
139
148
  simplecov_json_formatter (~> 0.1)
140
149
  simplecov-html (0.12.3)
141
150
  simplecov_json_formatter (0.1.4)
142
- solargraph (0.46.0)
151
+ solargraph (0.47.2)
143
152
  backport (~> 1.2)
144
153
  benchmark
145
154
  bundler (>= 1.17.2)
@@ -156,17 +165,18 @@ GEM
156
165
  yard (~> 0.9, >= 0.9.24)
157
166
  thor (1.2.1)
158
167
  tilt (2.0.11)
159
- timers (4.3.4)
160
- traces (0.7.0)
168
+ timers (4.3.5)
169
+ traces (0.8.0)
161
170
  tzinfo (2.0.5)
162
171
  concurrent-ruby (~> 1.0)
163
- unicode-display_width (2.2.0)
172
+ unicode-display_width (2.3.0)
164
173
  webrick (1.7.0)
165
174
  yard (0.9.28)
166
175
  webrick (~> 1.7.0)
167
- zeitwerk (2.6.0)
176
+ zeitwerk (2.6.6)
168
177
 
169
178
  PLATFORMS
179
+ ruby
170
180
  x86_64-linux
171
181
 
172
182
  DEPENDENCIES
data/README.md CHANGED
@@ -24,6 +24,11 @@ event loop.
24
24
  - [License](#license)
25
25
  - [Code Of Conduct](#code-of-conduct)
26
26
 
27
+
28
+ ## Dependencies
29
+
30
+ Grumlin works with ruby >= 2.7, but it's recommended to use 3.1 due to [zlib warnings](https://github.com/socketry/async-websocket/issues/42).
31
+
27
32
  ## Install
28
33
 
29
34
  Add this line to your application's Gemfile:
data/grumlin.gemspec CHANGED
@@ -28,10 +28,10 @@ Gem::Specification.new do |spec|
28
28
  end
29
29
  spec.require_paths = ["lib"]
30
30
 
31
- spec.add_dependency "async-pool", "~> 0.3"
32
- spec.add_dependency "async-websocket", ">= 0.19", "< 0.20"
31
+ spec.add_dependency "async-pool", "~> 0.3.0"
32
+ spec.add_dependency "async-websocket", "~> 0.22.0"
33
33
  spec.add_dependency "ibsciss-middleware", "~> 0.4.0"
34
- spec.add_dependency "oj", "~> 3.13"
35
- spec.add_dependency "retryable", "~> 3.0"
36
- spec.add_dependency "zeitwerk", "~> 2.6"
34
+ spec.add_dependency "oj", "~> 3.13.0"
35
+ spec.add_dependency "retryable", "~> 3.0.0"
36
+ spec.add_dependency "zeitwerk", "~> 2.6.0"
37
37
  end
@@ -83,7 +83,7 @@ class Grumlin::Client
83
83
 
84
84
  @request_dispatcher.clear unless check_requests
85
85
 
86
- raise ResourceLeakError, "Request list is not empty: #{@request_dispatcher.requests}" if check_requests
86
+ raise Grumlin::ResourceLeakError, "Request list is not empty: #{@request_dispatcher.requests}" if check_requests
87
87
  ensure
88
88
  logger.debug(self, "Closed")
89
89
  end
@@ -70,7 +70,7 @@ class Grumlin::Transport
70
70
  def run_response_task
71
71
  with_guard do
72
72
  loop do
73
- data = @connection.read
73
+ data = Oj.load(@connection.read.to_str, symbolize_names: true)
74
74
  @response_channel << data
75
75
  end
76
76
  end
@@ -79,7 +79,7 @@ class Grumlin::Transport
79
79
  def run_request_task
80
80
  with_guard do
81
81
  @request_channel.each do |message|
82
- @connection.write(message)
82
+ @connection.write(Oj.dump(message, mode: :compat))
83
83
  @connection.flush
84
84
  end
85
85
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Grumlin
4
- VERSION = "1.0.0.rc6"
4
+ VERSION = "1.0.0.rc7"
5
5
  end
data/lib/grumlin.rb CHANGED
@@ -4,10 +4,6 @@ require "securerandom"
4
4
  require "oj"
5
5
  require "yaml"
6
6
 
7
- # TODO: use Oj directly
8
- Oj.mimic_JSON
9
- Oj.add_to_json
10
-
11
7
  require "async"
12
8
  require "async/pool"
13
9
  require "async/pool/resource"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: grumlin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc6
4
+ version: 1.0.0.rc7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gleb Sinyavskiy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-09-23 00:00:00.000000000 Z
11
+ date: 2022-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-pool
@@ -16,34 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.3'
19
+ version: 0.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.3'
26
+ version: 0.3.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: async-websocket
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0.19'
34
- - - "<"
31
+ - - "~>"
35
32
  - !ruby/object:Gem::Version
36
- version: '0.20'
33
+ version: 0.22.0
37
34
  type: :runtime
38
35
  prerelease: false
39
36
  version_requirements: !ruby/object:Gem::Requirement
40
37
  requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: '0.19'
44
- - - "<"
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '0.20'
40
+ version: 0.22.0
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: ibsciss-middleware
49
43
  requirement: !ruby/object:Gem::Requirement
@@ -64,42 +58,42 @@ dependencies:
64
58
  requirements:
65
59
  - - "~>"
66
60
  - !ruby/object:Gem::Version
67
- version: '3.13'
61
+ version: 3.13.0
68
62
  type: :runtime
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
66
  - - "~>"
73
67
  - !ruby/object:Gem::Version
74
- version: '3.13'
68
+ version: 3.13.0
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: retryable
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
73
  - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '3.0'
75
+ version: 3.0.0
82
76
  type: :runtime
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
80
  - - "~>"
87
81
  - !ruby/object:Gem::Version
88
- version: '3.0'
82
+ version: 3.0.0
89
83
  - !ruby/object:Gem::Dependency
90
84
  name: zeitwerk
91
85
  requirement: !ruby/object:Gem::Requirement
92
86
  requirements:
93
87
  - - "~>"
94
88
  - !ruby/object:Gem::Version
95
- version: '2.6'
89
+ version: 2.6.0
96
90
  type: :runtime
97
91
  prerelease: false
98
92
  version_requirements: !ruby/object:Gem::Requirement
99
93
  requirements:
100
94
  - - "~>"
101
95
  - !ruby/object:Gem::Version
102
- version: '2.6'
96
+ version: 2.6.0
103
97
  description: 'Gremlin graph traversal language DSL and client for Ruby. Suitable and
104
98
  tested with gremlin-server and AWS Neptune.
105
99