neo4j-ruby-driver 0.4.1 → 1.7.3
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|