neo4j-ruby-driver 0.4.1 → 1.7.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/ffi/neo4j/driver.rb +1 -0
- data/ffi/neo4j/driver/graph_database.rb +1 -1
- data/ffi/neo4j/driver/internal/error_handling.rb +5 -1
- data/ffi/neo4j/driver/internal/handlers/pull_all_response_handler.rb +2 -3
- data/ffi/neo4j/driver/internal/handlers/response_handler.rb +2 -2
- data/ffi/neo4j/driver/internal/network_session.rb +2 -2
- data/ffi/neo4j/driver/internal/value/path_value.rb +1 -1
- data/ffi/neo4j/driver/internal/value/value_adapter.rb +5 -3
- data/ffi/neo4j/driver/types/path.rb +1 -1
- data/lib/neo4j/driver/exceptions/neo4j_exception.rb +1 -2
- data/lib/neo4j/driver/internal/duration_normalizer.rb +2 -1
- data/lib/neo4j/driver/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4a18dd7ec0dffaa4f69584276bcdd4c73d623c0735c55583b587b95899a42ec4
|
4
|
+
data.tar.gz: 965f85328e9fbfdd3c8aca3a2c05236dd13f15465d48860d38dc2a8b3f739331
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf20d66e491ae5b6b4b988656bbc009f580dadf6aaa7f6c34787fefa628b83f720db6c01efa74e4fc3eaeeacd6043ef6910b285793ee58c410eed67da4ebc67b
|
7
|
+
data.tar.gz: 1fcfa5a672a79096a95ae7b22ba4ba2f9d469310acbd6cf2bb4f3e75e05689deef968871927ccf31a3553ae0a0f3da5cc9ba2597e4129432de394dd999b22ee3
|
data/ffi/neo4j/driver.rb
CHANGED
@@ -44,7 +44,7 @@ module Neo4j
|
|
44
44
|
scheme = (uris.map(&method(:URI)).map(&:scheme) - VALID_ROUTING_SCHEMES).first
|
45
45
|
return unless scheme
|
46
46
|
raise ArgumentError,
|
47
|
-
"Illegal URI scheme, expected URI scheme '#{scheme}' to be among [#{VALID_ROUTING_SCHEMES.join ', '}]"
|
47
|
+
"Illegal URI scheme, expected URI scheme '#{scheme}' to be among '[#{VALID_ROUTING_SCHEMES.join ', '}]'"
|
48
48
|
end
|
49
49
|
end
|
50
50
|
end
|
@@ -61,12 +61,11 @@ module Neo4j
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def on_failure(error)
|
64
|
+
@failure = error
|
64
65
|
summary
|
65
66
|
@finished = true
|
66
67
|
|
67
68
|
after_failure(error)
|
68
|
-
|
69
|
-
@failure = error
|
70
69
|
end
|
71
70
|
|
72
71
|
def finalize
|
@@ -95,7 +94,7 @@ module Neo4j
|
|
95
94
|
nil
|
96
95
|
end
|
97
96
|
rescue StandardError => e
|
98
|
-
on_failure(e)
|
97
|
+
on_failure(e) unless @failure
|
99
98
|
raise e
|
100
99
|
end
|
101
100
|
end
|
@@ -34,8 +34,8 @@ module Neo4j
|
|
34
34
|
after_success(nil)
|
35
35
|
else
|
36
36
|
return if previous&.failure
|
37
|
-
|
38
|
-
raise new_neo4j_error(
|
37
|
+
failure = Value::ValueAdapter.to_ruby(Bolt::Connection.failure(bolt_connection))
|
38
|
+
raise @failure = new_neo4j_error(**failure)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
@@ -84,7 +84,7 @@ module Neo4j
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
-
def acquire_connection(mode
|
87
|
+
def acquire_connection(mode)
|
88
88
|
# make sure previous result is fully consumed and connection is released back to the pool
|
89
89
|
@result&.failure
|
90
90
|
|
@@ -94,7 +94,7 @@ module Neo4j
|
|
94
94
|
# 3) previous result failed and error has been consumed
|
95
95
|
|
96
96
|
raise Exceptions::IllegalStateException, 'Existing open connection detected' if @connection&.open?
|
97
|
-
@connection = @connection_provider.acquire_connection(
|
97
|
+
@connection = @connection_provider.acquire_connection(mode)
|
98
98
|
end
|
99
99
|
|
100
100
|
def close_transaction_and_release_connection
|
@@ -13,7 +13,7 @@ module Neo4j
|
|
13
13
|
nodes = [prev_node] # Start node is always 0, and isn't encoded in the sequence
|
14
14
|
rels = []
|
15
15
|
path = Types::Path.new(nodes, rels)
|
16
|
-
sequence.in_groups_of(2) do |
|
16
|
+
sequence.in_groups_of(2) do |rel_idx, node_idx|
|
17
17
|
node = uniq_nodes[node_idx]
|
18
18
|
nodes << node
|
19
19
|
rel = uniq_rels[rel_idx.abs - 1] # -1 because rel idx are 1-indexed
|
@@ -50,6 +50,8 @@ module Neo4j
|
|
50
50
|
when String
|
51
51
|
object = object.encode(Encoding::UTF_8) unless object.encoding == Encoding::UTF_8
|
52
52
|
Bolt::Value.format_as_string(value, object, object.bytesize)
|
53
|
+
when Symbol
|
54
|
+
to_neo(value, object.to_s)
|
53
55
|
when Hash
|
54
56
|
Bolt::Value.format_as_dictionary(value, object.size)
|
55
57
|
object.each_with_index do |(key, elem), index|
|
@@ -63,8 +65,6 @@ module Neo4j
|
|
63
65
|
object = object.to_a
|
64
66
|
Bolt::Value.format_as_list(value, object.size)
|
65
67
|
object.each_with_index { |elem, index| to_neo(Bolt::List.value(value, index), elem) }
|
66
|
-
when Date
|
67
|
-
DateValue.to_neo(value, object)
|
68
68
|
when ActiveSupport::Duration
|
69
69
|
DurationValue.to_neo(value, object)
|
70
70
|
when Neo4j::Driver::Types::Point
|
@@ -84,8 +84,10 @@ module Neo4j
|
|
84
84
|
LocalDateTimeValue.to_neo(value, object)
|
85
85
|
when ActiveSupport::TimeWithZone
|
86
86
|
TimeWithZoneIdValue.to_neo(value, object)
|
87
|
-
when Time
|
87
|
+
when Time, DateTime
|
88
88
|
TimeWithZoneOffsetValue.to_neo(value, object)
|
89
|
+
when Date
|
90
|
+
DateValue.to_neo(value, object)
|
89
91
|
else
|
90
92
|
Exceptions::ClientException.unable_to_convert(object)
|
91
93
|
end
|
@@ -4,12 +4,11 @@ module Neo4j
|
|
4
4
|
module Driver
|
5
5
|
module Exceptions
|
6
6
|
class Neo4jException < RuntimeError
|
7
|
-
attr_reader :code, :
|
7
|
+
attr_reader :code, :suppressed
|
8
8
|
|
9
9
|
def initialize(*args)
|
10
10
|
@code = args.shift if args.count > 1
|
11
11
|
message = args.shift
|
12
|
-
@cause = args.shift
|
13
12
|
@suppressed = args.shift
|
14
13
|
super(message)
|
15
14
|
end
|
@@ -6,7 +6,8 @@ module Neo4j
|
|
6
6
|
module DurationNormalizer
|
7
7
|
class << self
|
8
8
|
def normalize(object)
|
9
|
-
parts = object.parts
|
9
|
+
parts = object.parts.to_h
|
10
|
+
parts.default = 0
|
10
11
|
months_i, months_remainder_seconds = divmod(months(parts), ActiveSupport::Duration::SECONDS_PER_MONTH)
|
11
12
|
months_days, months_remainder_seconds =
|
12
13
|
months_remainder_seconds.divmod(ActiveSupport::Duration::SECONDS_PER_DAY)
|
data/lib/neo4j/driver/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4j-ruby-driver
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.7.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Heinrich Klobuczek
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -319,7 +319,7 @@ licenses:
|
|
319
319
|
- MIT
|
320
320
|
metadata:
|
321
321
|
homepage_uri: https://github.com/neo4jrb/neo4j-ruby-driver
|
322
|
-
post_install_message:
|
322
|
+
post_install_message:
|
323
323
|
rdoc_options:
|
324
324
|
- "--main"
|
325
325
|
- README.md
|
@@ -337,8 +337,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
337
337
|
- !ruby/object:Gem::Version
|
338
338
|
version: '0'
|
339
339
|
requirements: []
|
340
|
-
rubygems_version: 3.1.
|
341
|
-
signing_key:
|
340
|
+
rubygems_version: 3.1.4
|
341
|
+
signing_key:
|
342
342
|
specification_version: 4
|
343
343
|
summary: ''
|
344
344
|
test_files: []
|