neo4j-ruby-driver 6.0.3.alpha.0-java → 6.2.1.beta.2-java

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.
Files changed (84) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +113 -411
  3. data/lib/neo4j/driver/auth_token_manager.rb +29 -0
  4. data/lib/neo4j/driver/client_certificate_manager.rb +31 -0
  5. data/lib/neo4j/driver/exceptions/neo4j_exception.rb +16 -7
  6. data/lib/neo4j/driver/exceptions/no_such_record_exception.rb +1 -1
  7. data/lib/neo4j/driver/exceptions/protocol_exception.rb +0 -5
  8. data/lib/neo4j/driver/exceptions/security_retryable_exception.rb +14 -0
  9. data/lib/neo4j/driver/exceptions/transaction_terminated_exception.rb +13 -0
  10. data/lib/neo4j/driver/ext/auth_token.rb +17 -0
  11. data/{jruby → lib}/neo4j/driver/ext/auth_tokens.rb +5 -1
  12. data/lib/neo4j/driver/ext/bookmark_managers.rb +21 -0
  13. data/lib/neo4j/driver/ext/client_certificates.rb +21 -0
  14. data/{jruby → lib}/neo4j/driver/ext/config_converter.rb +36 -7
  15. data/{jruby → lib}/neo4j/driver/ext/exception_checkable.rb +3 -3
  16. data/lib/neo4j/driver/ext/exception_mapper.rb +173 -0
  17. data/lib/neo4j/driver/ext/graph_database.rb +25 -0
  18. data/lib/neo4j/driver/ext/internal/clock_adapter.rb +33 -0
  19. data/lib/neo4j/driver/ext/internal/cluster/routing_table_registry_impl.rb +28 -0
  20. data/lib/neo4j/driver/ext/internal/driver_factory.rb +54 -0
  21. data/lib/neo4j/driver/ext/internal/internal_notification_severity.rb +15 -0
  22. data/lib/neo4j/driver/ext/internal/reflection.rb +22 -0
  23. data/lib/neo4j/driver/ext/internal/summary/internal_gql_notification.rb +22 -0
  24. data/lib/neo4j/driver/ext/internal/summary/internal_gql_status_object.rb +18 -0
  25. data/{jruby → lib}/neo4j/driver/ext/internal/summary/internal_plan.rb +3 -5
  26. data/lib/neo4j/driver/ext/internal/summary/internal_query_profile.rb +36 -0
  27. data/lib/neo4j/driver/ext/internal/summary/internal_result_summary.rb +44 -0
  28. data/lib/neo4j/driver/ext/internal_driver.rb +102 -0
  29. data/{jruby → lib}/neo4j/driver/ext/internal_result.rb +2 -2
  30. data/{jruby → lib}/neo4j/driver/ext/internal_session.rb +5 -1
  31. data/lib/neo4j/driver/ext/logger.rb +55 -0
  32. data/lib/neo4j/driver/ext/map_converter.rb +13 -0
  33. data/lib/neo4j/driver/ext/neo_converter.rb +70 -0
  34. data/lib/neo4j/driver/ext/plain_map_converter.rb +11 -0
  35. data/{jruby → lib}/neo4j/driver/ext/ruby_converter.rb +20 -6
  36. data/lib/neo4j/driver/ext/unsupported_type.rb +14 -0
  37. data/lib/neo4j/driver/internal/deprecator.rb +9 -5
  38. data/lib/neo4j/driver/internal/duration_normalizer.rb +14 -39
  39. data/lib/neo4j/driver/internal/internal_auth_token_manager.rb +37 -0
  40. data/lib/neo4j/driver/internal/validator.rb +16 -2
  41. data/lib/neo4j/driver/summary/query_type.rb +5 -1
  42. data/lib/neo4j/driver/types/duration.rb +76 -0
  43. data/lib/neo4j/driver/types/local_date_time.rb +77 -8
  44. data/lib/neo4j/driver/types/local_time.rb +50 -7
  45. data/lib/neo4j/driver/types/offset_time.rb +78 -7
  46. data/lib/neo4j/driver/types/point.rb +38 -18
  47. data/lib/neo4j/driver/types/temporal_value.rb +44 -0
  48. data/lib/neo4j/driver/types/unresolvable_zoned_date_time.rb +38 -0
  49. data/{jruby → lib}/neo4j/driver/version.rb +1 -1
  50. data/{jruby → lib}/neo4j/driver.rb +31 -7
  51. data/lib/neo4j-ruby-driver_jars.rb +14 -0
  52. data/lib/neo4j-ruby-driver_loader.rb +34 -20
  53. data/lib/org/neo4j/driver/neo4j-java-driver-all/6.2.1/neo4j-java-driver-all-6.2.1.jar +0 -0
  54. data/lib/org/neo4j/driver/neo4j-java-driver-observation-metrics/6.2.1/neo4j-java-driver-observation-metrics-6.2.1.jar +0 -0
  55. data/lib/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar +0 -0
  56. metadata +76 -226
  57. data/jruby/neo4j/driver/ext/async_converter.rb +0 -55
  58. data/jruby/neo4j/driver/ext/exception_mapper.rb +0 -92
  59. data/jruby/neo4j/driver/ext/graph_database.rb +0 -33
  60. data/jruby/neo4j/driver/ext/internal/async/internal_async_session.rb +0 -23
  61. data/jruby/neo4j/driver/ext/internal/cluster/routing_table_registry_impl.rb +0 -15
  62. data/jruby/neo4j/driver/ext/internal/cursor/disposable_async_result_cursor.rb +0 -15
  63. data/jruby/neo4j/driver/ext/internal/driver_factory.rb +0 -24
  64. data/jruby/neo4j/driver/ext/internal/summary/internal_result_summary.rb +0 -34
  65. data/jruby/neo4j/driver/ext/internal_driver.rb +0 -52
  66. data/jruby/neo4j/driver/ext/logger.rb +0 -60
  67. data/jruby/neo4j/driver/ext/map_converter.rb +0 -14
  68. data/jruby/neo4j/driver/ext/neo_converter.rb +0 -59
  69. data/lib/neo4j/driver/internal/bolt_server_address.rb +0 -97
  70. data/lib/neo4j/driver/synchronizable.rb +0 -23
  71. data/lib/neo4j/driver/types/time.rb +0 -45
  72. /data/{jruby → lib}/neo4j/driver/ext/internal/abstract_query_runner.rb +0 -0
  73. /data/{jruby → lib}/neo4j/driver/ext/internal/eager_result_value.rb +0 -0
  74. /data/{jruby → lib}/neo4j/driver/ext/internal/metrics/internal_connection_pool_metrics.rb +0 -0
  75. /data/{jruby → lib}/neo4j/driver/ext/internal/summary/internal_notification.rb +0 -0
  76. /data/{jruby → lib}/neo4j/driver/ext/internal_entity.rb +0 -0
  77. /data/{jruby → lib}/neo4j/driver/ext/internal_keys.rb +0 -0
  78. /data/{jruby → lib}/neo4j/driver/ext/internal_node.rb +0 -0
  79. /data/{jruby → lib}/neo4j/driver/ext/internal_record.rb +0 -0
  80. /data/{jruby → lib}/neo4j/driver/ext/internal_relationship.rb +0 -0
  81. /data/{jruby → lib}/neo4j/driver/ext/internal_transaction.rb +0 -0
  82. /data/{jruby → lib}/neo4j/driver/ext/query.rb +0 -0
  83. /data/{jruby → lib}/neo4j/driver/ext/run_override.rb +0 -0
  84. /data/{jruby → lib}/neo4j/driver/ext/start_end_naming.rb +0 -0
@@ -1,32 +1,46 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/concern'
4
- require 'active_support/core_ext/hash/indifferent_access'
5
- require 'active_support/isolated_execution_state' if Gem::Requirement.create('>= 7').satisfied_by?(Gem.loaded_specs["activesupport"].version) # TODO: this should not be necessary https://github.com/rails/rails/issues/43851
6
- require 'active_support/deprecator' if Gem::Requirement.create('>= 7.1').satisfied_by?(Gem.loaded_specs["activesupport"].version)
7
- require 'active_support/deprecation'
8
- require 'active_support/core_ext/numeric/time'
9
- require 'active_support/duration'
10
- require 'active_support/time'
11
3
  require 'date'
4
+ require 'forwardable'
5
+ require 'time'
12
6
  require 'uri'
13
7
  require 'zeitwerk'
14
8
 
15
9
  module Neo4j
16
10
  module Driver
17
11
  class Loader
18
- def self.load
19
- loader = Zeitwerk::Loader.new
20
- loader.tag = 'neo4j-ruby-driver'
21
- loader.push_dir(File.expand_path(__dir__))
22
- driver_specific_dir = File.dirname(File.dirname(caller_locations(1..1).first.path))
23
- loader.push_dir(driver_specific_dir)
24
- yield loader if block_given?
25
- loader.ignore(File.expand_path('neo4j*ruby*driver*.rb', __dir__))
26
- loader.ignore(File.expand_path('org', __dir__))
27
- loader.inflector = Zeitwerk::GemInflector.new(File.expand_path('neo4j/driver', driver_specific_dir))
28
- loader.setup
29
- loader.eager_load
12
+ class << self
13
+ # `__dir__` resolves to:
14
+ # dev: lib/shared → shared_root = lib/shared
15
+ # installed gem: lib → shared_root = lib (the impl dir is
16
+ # merged in by the staged build, so
17
+ # impl_root below is missing and the
18
+ # conditional push is skipped)
19
+ def load(impl)
20
+ @impl = impl
21
+ shared_root = File.expand_path(__dir__)
22
+ impl_root = File.expand_path("../#{impl}", shared_root)
23
+
24
+ loader = Zeitwerk::Loader.new
25
+ loader.tag = 'neo4j-ruby-driver'
26
+ loader.inflector = Zeitwerk::GemInflector.new(File.expand_path('neo4j/driver', __dir__))
27
+ loader.inflector.inflect('packstream' => 'PackStream', 'uuid' => 'UUID')
28
+ loader.push_dir(shared_root)
29
+ loader.push_dir(impl_root) if File.directory?(impl_root)
30
+ yield loader if block_given?
31
+ # ignore the Bundler.require-friendly entry files (neo4j-ruby-driver.rb, neo4j-ruby-driver_loader.rb,
32
+ # neo4j_ruby_driver.rb) since Zeitwerk would otherwise try to
33
+ # autoload them as constants with the wrong names.
34
+ loader.ignore(File.expand_path(__FILE__))
35
+ loader.ignore(File.expand_path('neo4j-ruby-driver.rb', __dir__))
36
+ loader.ignore(File.expand_path('neo4j_ruby_driver.rb', __dir__))
37
+ loader.setup
38
+ loader.eager_load
39
+ end
40
+
41
+ def jruby? = @impl == :jruby
42
+
43
+ def mri? = @impl == :mri
30
44
  end
31
45
  end
32
46
  end
metadata CHANGED
@@ -1,70 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neo4j-ruby-driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.3.alpha.0
4
+ version: 6.2.1.beta.2
5
5
  platform: java
6
6
  authors:
7
- - Heinrich Klobuczek
7
+ - Neo4j Driver Team
8
8
  bindir: bin
9
9
  cert_chain: []
10
10
  date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: activesupport
13
+ name: tzinfo
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
- - - ">="
17
- - !ruby/object:Gem::Version
18
- version: '7.1'
19
- type: :runtime
20
- prerelease: false
21
- version_requirements: !ruby/object:Gem::Requirement
22
- requirements:
23
- - - ">="
24
- - !ruby/object:Gem::Version
25
- version: '7.1'
26
- - !ruby/object:Gem::Dependency
27
- name: csv
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - ">="
16
+ - - "~>"
31
17
  - !ruby/object:Gem::Version
32
- version: '3.0'
18
+ version: '2.0'
33
19
  type: :runtime
34
20
  prerelease: false
35
21
  version_requirements: !ruby/object:Gem::Requirement
36
22
  requirements:
37
- - - ">="
23
+ - - "~>"
38
24
  - !ruby/object:Gem::Version
39
- version: '3.0'
25
+ version: '2.0'
40
26
  - !ruby/object:Gem::Dependency
41
27
  name: zeitwerk
42
28
  requirement: !ruby/object:Gem::Requirement
43
29
  requirements:
44
- - - ">="
45
- - !ruby/object:Gem::Version
46
- version: 2.1.10
47
- type: :runtime
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: 2.1.10
54
- - !ruby/object:Gem::Dependency
55
- name: concurrent-ruby-edge
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - ">="
30
+ - - "~>"
59
31
  - !ruby/object:Gem::Version
60
- version: 0.6.0
32
+ version: '2.6'
61
33
  type: :runtime
62
34
  prerelease: false
63
35
  version_requirements: !ruby/object:Gem::Requirement
64
36
  requirements:
65
- - - ">="
37
+ - - "~>"
66
38
  - !ruby/object:Gem::Version
67
- version: 0.6.0
39
+ version: '2.6'
68
40
  - !ruby/object:Gem::Dependency
69
41
  name: jar-dependencies
70
42
  requirement: !ruby/object:Gem::Requirement
@@ -79,118 +51,6 @@ dependencies:
79
51
  - - ">="
80
52
  - !ruby/object:Gem::Version
81
53
  version: 0.5.5
82
- - !ruby/object:Gem::Dependency
83
- name: ffaker
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: '0'
89
- type: :development
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- version: '0'
96
- - !ruby/object:Gem::Dependency
97
- name: hoe
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: '0'
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - ">="
108
- - !ruby/object:Gem::Version
109
- version: '0'
110
- - !ruby/object:Gem::Dependency
111
- name: hoe-bundler
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- - !ruby/object:Gem::Dependency
125
- name: hoe-gemspec
126
- requirement: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - ">="
129
- - !ruby/object:Gem::Version
130
- version: '0'
131
- type: :development
132
- prerelease: false
133
- version_requirements: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - ">="
136
- - !ruby/object:Gem::Version
137
- version: '0'
138
- - !ruby/object:Gem::Dependency
139
- name: rake
140
- requirement: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: '0'
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - ">="
150
- - !ruby/object:Gem::Version
151
- version: '0'
152
- - !ruby/object:Gem::Dependency
153
- name: rspec-its
154
- requirement: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: '0'
159
- type: :development
160
- prerelease: false
161
- version_requirements: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- - !ruby/object:Gem::Dependency
167
- name: rspec-mocks
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - ">="
171
- - !ruby/object:Gem::Version
172
- version: '0'
173
- type: :development
174
- prerelease: false
175
- version_requirements: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - ">="
178
- - !ruby/object:Gem::Version
179
- version: '0'
180
- - !ruby/object:Gem::Dependency
181
- name: async
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "<"
185
- - !ruby/object:Gem::Version
186
- version: '2'
187
- type: :development
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "<"
192
- - !ruby/object:Gem::Version
193
- version: '2'
194
54
  - !ruby/object:Gem::Dependency
195
55
  name: ruby-maven
196
56
  requirement: !ruby/object:Gem::Requirement
@@ -205,77 +65,23 @@ dependencies:
205
65
  - - ">="
206
66
  - !ruby/object:Gem::Version
207
67
  version: '0'
208
- - !ruby/object:Gem::Dependency
209
- name: rdoc
210
- requirement: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '6.0'
215
- - - "<"
216
- - !ruby/object:Gem::Version
217
- version: '8'
218
- type: :development
219
- prerelease: false
220
- version_requirements: !ruby/object:Gem::Requirement
221
- requirements:
222
- - - ">="
223
- - !ruby/object:Gem::Version
224
- version: '6.0'
225
- - - "<"
226
- - !ruby/object:Gem::Version
227
- version: '8'
228
- description: |2
229
-
230
-
231
- ==== To Install:
68
+ description: A clean, modern implementation of the Neo4j Bolt protocol driver for
69
+ Ruby
232
70
  email:
233
- - heinrich@mail.com
71
+ - drivers@neo4j.com
234
72
  executables: []
235
73
  extensions: []
236
- extra_rdoc_files:
237
- - LICENSE.txt
238
- - README.md
74
+ extra_rdoc_files: []
239
75
  files:
240
76
  - LICENSE.txt
241
77
  - README.md
242
- - jruby/neo4j/driver.rb
243
- - jruby/neo4j/driver/ext/async_converter.rb
244
- - jruby/neo4j/driver/ext/auth_tokens.rb
245
- - jruby/neo4j/driver/ext/config_converter.rb
246
- - jruby/neo4j/driver/ext/exception_checkable.rb
247
- - jruby/neo4j/driver/ext/exception_mapper.rb
248
- - jruby/neo4j/driver/ext/graph_database.rb
249
- - jruby/neo4j/driver/ext/internal/abstract_query_runner.rb
250
- - jruby/neo4j/driver/ext/internal/async/internal_async_session.rb
251
- - jruby/neo4j/driver/ext/internal/cluster/routing_table_registry_impl.rb
252
- - jruby/neo4j/driver/ext/internal/cursor/disposable_async_result_cursor.rb
253
- - jruby/neo4j/driver/ext/internal/driver_factory.rb
254
- - jruby/neo4j/driver/ext/internal/eager_result_value.rb
255
- - jruby/neo4j/driver/ext/internal/metrics/internal_connection_pool_metrics.rb
256
- - jruby/neo4j/driver/ext/internal/summary/internal_notification.rb
257
- - jruby/neo4j/driver/ext/internal/summary/internal_plan.rb
258
- - jruby/neo4j/driver/ext/internal/summary/internal_result_summary.rb
259
- - jruby/neo4j/driver/ext/internal_driver.rb
260
- - jruby/neo4j/driver/ext/internal_entity.rb
261
- - jruby/neo4j/driver/ext/internal_keys.rb
262
- - jruby/neo4j/driver/ext/internal_node.rb
263
- - jruby/neo4j/driver/ext/internal_record.rb
264
- - jruby/neo4j/driver/ext/internal_relationship.rb
265
- - jruby/neo4j/driver/ext/internal_result.rb
266
- - jruby/neo4j/driver/ext/internal_session.rb
267
- - jruby/neo4j/driver/ext/internal_transaction.rb
268
- - jruby/neo4j/driver/ext/logger.rb
269
- - jruby/neo4j/driver/ext/map_converter.rb
270
- - jruby/neo4j/driver/ext/neo_converter.rb
271
- - jruby/neo4j/driver/ext/query.rb
272
- - jruby/neo4j/driver/ext/ruby_converter.rb
273
- - jruby/neo4j/driver/ext/run_override.rb
274
- - jruby/neo4j/driver/ext/start_end_naming.rb
275
- - jruby/neo4j/driver/version.rb
276
78
  - lib/neo4j-ruby-driver.rb
79
+ - lib/neo4j-ruby-driver_jars.rb
277
80
  - lib/neo4j-ruby-driver_loader.rb
81
+ - lib/neo4j/driver.rb
82
+ - lib/neo4j/driver/auth_token_manager.rb
278
83
  - lib/neo4j/driver/auto_closeable.rb
84
+ - lib/neo4j/driver/client_certificate_manager.rb
279
85
  - lib/neo4j/driver/exceptions/authentication_exception.rb
280
86
  - lib/neo4j/driver/exceptions/authorization_expired_exception.rb
281
87
  - lib/neo4j/driver/exceptions/certificate_exception.rb
@@ -290,10 +96,12 @@ files:
290
96
  - lib/neo4j/driver/exceptions/protocol_exception.rb
291
97
  - lib/neo4j/driver/exceptions/result_consumed_exception.rb
292
98
  - lib/neo4j/driver/exceptions/security_exception.rb
99
+ - lib/neo4j/driver/exceptions/security_retryable_exception.rb
293
100
  - lib/neo4j/driver/exceptions/service_unavailable_exception.rb
294
101
  - lib/neo4j/driver/exceptions/session_expired_exception.rb
295
102
  - lib/neo4j/driver/exceptions/token_expired_exception.rb
296
103
  - lib/neo4j/driver/exceptions/transaction_nesting_exception.rb
104
+ - lib/neo4j/driver/exceptions/transaction_terminated_exception.rb
297
105
  - lib/neo4j/driver/exceptions/transient_exception.rb
298
106
  - lib/neo4j/driver/exceptions/unsupported_feature_exception.rb
299
107
  - lib/neo4j/driver/exceptions/untrusted_server_exception.rb
@@ -302,43 +110,85 @@ files:
302
110
  - lib/neo4j/driver/exceptions/value/uncoercible.rb
303
111
  - lib/neo4j/driver/exceptions/value/unsizable.rb
304
112
  - lib/neo4j/driver/exceptions/value/value_exception.rb
305
- - lib/neo4j/driver/internal/bolt_server_address.rb
113
+ - lib/neo4j/driver/ext/auth_token.rb
114
+ - lib/neo4j/driver/ext/auth_tokens.rb
115
+ - lib/neo4j/driver/ext/bookmark_managers.rb
116
+ - lib/neo4j/driver/ext/client_certificates.rb
117
+ - lib/neo4j/driver/ext/config_converter.rb
118
+ - lib/neo4j/driver/ext/exception_checkable.rb
119
+ - lib/neo4j/driver/ext/exception_mapper.rb
120
+ - lib/neo4j/driver/ext/graph_database.rb
121
+ - lib/neo4j/driver/ext/internal/abstract_query_runner.rb
122
+ - lib/neo4j/driver/ext/internal/clock_adapter.rb
123
+ - lib/neo4j/driver/ext/internal/cluster/routing_table_registry_impl.rb
124
+ - lib/neo4j/driver/ext/internal/driver_factory.rb
125
+ - lib/neo4j/driver/ext/internal/eager_result_value.rb
126
+ - lib/neo4j/driver/ext/internal/internal_notification_severity.rb
127
+ - lib/neo4j/driver/ext/internal/metrics/internal_connection_pool_metrics.rb
128
+ - lib/neo4j/driver/ext/internal/reflection.rb
129
+ - lib/neo4j/driver/ext/internal/summary/internal_gql_notification.rb
130
+ - lib/neo4j/driver/ext/internal/summary/internal_gql_status_object.rb
131
+ - lib/neo4j/driver/ext/internal/summary/internal_notification.rb
132
+ - lib/neo4j/driver/ext/internal/summary/internal_plan.rb
133
+ - lib/neo4j/driver/ext/internal/summary/internal_query_profile.rb
134
+ - lib/neo4j/driver/ext/internal/summary/internal_result_summary.rb
135
+ - lib/neo4j/driver/ext/internal_driver.rb
136
+ - lib/neo4j/driver/ext/internal_entity.rb
137
+ - lib/neo4j/driver/ext/internal_keys.rb
138
+ - lib/neo4j/driver/ext/internal_node.rb
139
+ - lib/neo4j/driver/ext/internal_record.rb
140
+ - lib/neo4j/driver/ext/internal_relationship.rb
141
+ - lib/neo4j/driver/ext/internal_result.rb
142
+ - lib/neo4j/driver/ext/internal_session.rb
143
+ - lib/neo4j/driver/ext/internal_transaction.rb
144
+ - lib/neo4j/driver/ext/logger.rb
145
+ - lib/neo4j/driver/ext/map_converter.rb
146
+ - lib/neo4j/driver/ext/neo_converter.rb
147
+ - lib/neo4j/driver/ext/plain_map_converter.rb
148
+ - lib/neo4j/driver/ext/query.rb
149
+ - lib/neo4j/driver/ext/ruby_converter.rb
150
+ - lib/neo4j/driver/ext/run_override.rb
151
+ - lib/neo4j/driver/ext/start_end_naming.rb
152
+ - lib/neo4j/driver/ext/unsupported_type.rb
306
153
  - lib/neo4j/driver/internal/deprecator.rb
307
154
  - lib/neo4j/driver/internal/duration_normalizer.rb
155
+ - lib/neo4j/driver/internal/internal_auth_token_manager.rb
308
156
  - lib/neo4j/driver/internal/validator.rb
309
157
  - lib/neo4j/driver/summary/query_type.rb
310
- - lib/neo4j/driver/synchronizable.rb
158
+ - lib/neo4j/driver/types/duration.rb
311
159
  - lib/neo4j/driver/types/local_date_time.rb
312
160
  - lib/neo4j/driver/types/local_time.rb
313
161
  - lib/neo4j/driver/types/offset_time.rb
314
162
  - lib/neo4j/driver/types/point.rb
315
- - lib/neo4j/driver/types/time.rb
163
+ - lib/neo4j/driver/types/temporal_value.rb
164
+ - lib/neo4j/driver/types/unresolvable_zoned_date_time.rb
165
+ - lib/neo4j/driver/version.rb
316
166
  - lib/neo4j_ruby_driver.rb
167
+ - lib/org/neo4j/driver/neo4j-java-driver-all/6.2.1/neo4j-java-driver-all-6.2.1.jar
168
+ - lib/org/neo4j/driver/neo4j-java-driver-observation-metrics/6.2.1/neo4j-java-driver-observation-metrics-6.2.1.jar
169
+ - lib/org/reactivestreams/reactive-streams/1.0.4/reactive-streams-1.0.4.jar
317
170
  homepage: https://github.com/neo4jrb/neo4j-ruby-driver
318
171
  licenses:
319
172
  - MIT
320
173
  metadata:
321
- homepage_uri: https://github.com/neo4jrb/neo4j-ruby-driver
322
- rdoc_options:
323
- - "--main"
324
- - README.md
174
+ rubygems_mfa_required: 'true'
175
+ rdoc_options: []
325
176
  require_paths:
326
177
  - lib
327
- - jruby
328
178
  required_ruby_version: !ruby/object:Gem::Requirement
329
179
  requirements:
330
180
  - - ">="
331
181
  - !ruby/object:Gem::Version
332
- version: '3.4'
182
+ version: 3.4.0
333
183
  required_rubygems_version: !ruby/object:Gem::Requirement
334
184
  requirements:
335
185
  - - ">="
336
186
  - !ruby/object:Gem::Version
337
187
  version: '0'
338
188
  requirements:
339
- - jar org.neo4j.driver, neo4j-java-driver-all, 6.0.3
340
- - jar org.neo4j.driver, neo4j-java-driver-observation-metrics, 6.0.3
341
- rubygems_version: 3.7.2
189
+ - jar org.neo4j.driver, neo4j-java-driver-all, 6.2.1
190
+ - jar org.neo4j.driver, neo4j-java-driver-observation-metrics, 6.2.1
191
+ rubygems_version: 4.0.3
342
192
  specification_version: 4
343
- summary: "==== To Install:"
193
+ summary: Clean Neo4j Bolt driver implementation for Ruby
344
194
  test_files: []
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Neo4j::Driver::Ext
4
- module AsyncConverter
5
- include ExceptionMapper
6
-
7
- private
8
-
9
- class Variable
10
- def initialize(condition = ::Async::Condition.new)
11
- @condition = condition
12
- @value = nil
13
- end
14
-
15
- def resolve(value = true)
16
- @value = value
17
- condition = @condition
18
- @condition = nil
19
-
20
- self.freeze
21
-
22
- condition.signal(value)
23
- end
24
-
25
- def resolved?
26
- @condition.nil?
27
- end
28
-
29
- def value
30
- @condition&.wait
31
- return @value
32
- end
33
-
34
- def wait
35
- self.value
36
- end
37
- end
38
-
39
- def to_future(completion_stage)
40
- Concurrent::Promises.resolvable_future.tap do |future|
41
- completion_stage.then_apply(&future.method(:fulfill)).exceptionally { |e| future.reject(mapped_exception(e.cause)) }
42
- end
43
- end
44
-
45
- def to_async(completion_stage)
46
- variable = Variable.new
47
- completion_stage.when_complete do |value, error|
48
- variable.resolve([value, error])
49
- end
50
- value, error = variable.wait
51
- raise mapped_exception(e.cause) if error
52
- value
53
- end
54
- end
55
- end
@@ -1,92 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Neo4j
4
- module Driver
5
- module Ext
6
- module ExceptionMapper
7
- java_import org.neo4j.driver.exceptions.AuthenticationException
8
- java_import org.neo4j.driver.exceptions.AuthorizationExpiredException
9
- java_import org.neo4j.driver.exceptions.ClientException
10
- java_import org.neo4j.driver.exceptions.ConnectionReadTimeoutException
11
- java_import org.neo4j.driver.exceptions.DatabaseException
12
- java_import org.neo4j.driver.exceptions.DiscoveryException
13
- java_import org.neo4j.driver.exceptions.FatalDiscoveryException
14
- java_import org.neo4j.driver.exceptions.ProtocolException
15
- java_import org.neo4j.driver.exceptions.ResultConsumedException
16
- java_import org.neo4j.driver.exceptions.SecurityException
17
- java_import org.neo4j.driver.exceptions.ServiceUnavailableException
18
- java_import org.neo4j.driver.exceptions.SessionExpiredException
19
- java_import org.neo4j.driver.exceptions.TokenExpiredException
20
- java_import org.neo4j.driver.exceptions.TransactionNestingException
21
- java_import org.neo4j.driver.exceptions.TransientException
22
- java_import org.neo4j.driver.exceptions.UnsupportedFeatureException
23
- java_import org.neo4j.driver.exceptions.UntrustedServerException
24
-
25
- def mapped_exception(exception)
26
- mapped_neo4j_exception_class(exception)&.new(*arguments(exception)) ||
27
- mapped_runtime_exception_class(exception)&.new(exception.message) || exception
28
- end
29
-
30
- def arguments(e)
31
- [e.code, e.message, *e.suppressed.map(&method(:mapped_exception))]
32
- end
33
-
34
- private
35
-
36
- def mapped_neo4j_exception_class(exception_class)
37
- case exception_class
38
- when AuthenticationException
39
- Neo4j::Driver::Exceptions::AuthenticationException
40
- when AuthorizationExpiredException
41
- Neo4j::Driver::Exceptions::AuthorizationExpiredException
42
- when FatalDiscoveryException
43
- Neo4j::Driver::Exceptions::FatalDiscoveryException
44
- when ResultConsumedException
45
- Neo4j::Driver::Exceptions::ResultConsumedException
46
- when TokenExpiredException
47
- Neo4j::Driver::Exceptions::TokenExpiredException
48
- when SecurityException
49
- Neo4j::Driver::Exceptions::SecurityException
50
- when TransactionNestingException
51
- Neo4j::Driver::Exceptions::TransactionNestingException
52
- when UnsupportedFeatureException
53
- Neo4j::Driver::Exceptions::UnsupportedFeatureException
54
- when ClientException
55
- Neo4j::Driver::Exceptions::ClientException
56
- when ConnectionReadTimeoutException
57
- Neo4j::Driver::Exceptions::ConnectionReadTimeoutException
58
- when DatabaseException
59
- Neo4j::Driver::Exceptions::DatabaseException
60
- when DiscoveryException
61
- Neo4j::Driver::Exceptions::DiscoveryException
62
- when ProtocolException
63
- Neo4j::Driver::Exceptions::ProtocolException
64
- when ServiceUnavailableException
65
- Neo4j::Driver::Exceptions::ServiceUnavailableException
66
- when SessionExpiredException
67
- Neo4j::Driver::Exceptions::SessionExpiredException
68
- when TransientException
69
- Neo4j::Driver::Exceptions::TransientException
70
- else
71
- nil
72
- end
73
- end
74
-
75
- def mapped_runtime_exception_class(exception_class)
76
- case exception_class
77
- when Java::OrgNeo4jDriverExceptions::NoSuchRecordException
78
- Neo4j::Driver::Exceptions::NoSuchRecordException
79
- when Java::OrgNeo4jDriverExceptions::UntrustedServerException
80
- Neo4j::Driver::Exceptions::UntrustedServerException
81
- when Java::JavaLang::IllegalStateException
82
- Neo4j::Driver::Exceptions::IllegalStateException
83
- when Java::JavaLang::IllegalArgumentException
84
- ArgumentError
85
- else
86
- nil
87
- end
88
- end
89
- end
90
- end
91
- end
92
- end
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Neo4j
4
- module Driver
5
- module Ext
6
- module GraphDatabase
7
- extend AutoCloseable
8
- include ConfigConverter
9
- include ExceptionCheckable
10
-
11
- auto_closeable :driver
12
-
13
- def driver(uri, auth_token = Neo4j::Driver::AuthTokens.none, **config)
14
- check do
15
- java_method(:driver, [java.lang.String, org.neo4j.driver.AuthToken, org.neo4j.driver.Config])
16
- .call(uri.to_s, auth_token, to_java_config(Neo4j::Driver::Config, **config))
17
- end
18
- end
19
-
20
- def internal_driver(uri, auth_token = Neo4j::Driver::AuthTokens.none, **config, &domain_name_resolver)
21
- check do
22
- java_uri = java.net.URI.create(uri.to_s)
23
- java_config = to_java_config(Neo4j::Driver::Config, **config)
24
- Internal::DriverFactory
25
- .new(&domain_name_resolver)
26
- .new_instance(java_uri, org.neo4j.driver.internal.security.StaticAuthTokenManager.new(auth_token),
27
- java_config)
28
- end
29
- end
30
- end
31
- end
32
- end
33
- end
@@ -1,23 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Neo4j
4
- module Driver
5
- module Ext
6
- module Internal
7
- module Async
8
- module InternalAsyncSession
9
- include ConfigConverter
10
- include RunOverride
11
- include AsyncConverter
12
-
13
- def run_async(statement, parameters = {}, config = {})
14
- to_future(
15
- java_method(:runAsync, [org.neo4j.driver.Query, org.neo4j.driver.TransactionConfig])
16
- .call(to_statement(statement, parameters), to_java_config(Neo4j::Driver::TransactionConfig, **config)))
17
- end
18
- end
19
- end
20
- end
21
- end
22
- end
23
- end