neo4j-core 7.2.0 → 7.2.1
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/Gemfile +3 -3
- data/bin/rake +1 -0
- data/lib/neo4j-core/query.rb +1 -1
- data/lib/neo4j-core/version.rb +1 -1
- data/lib/neo4j-embedded/embedded_node.rb +1 -1
- data/lib/neo4j-server/cypher_node.rb +1 -1
- data/lib/neo4j-server/cypher_relationship.rb +1 -1
- data/lib/neo4j-server/cypher_response.rb +3 -3
- data/lib/neo4j-server/cypher_transaction.rb +1 -1
- data/lib/neo4j/core/cypher_session.rb +4 -4
- data/lib/neo4j/core/cypher_session/adaptors.rb +6 -6
- data/lib/neo4j/core/cypher_session/adaptors/bolt.rb +1 -1
- data/lib/neo4j/core/cypher_session/adaptors/bolt/pack_stream.rb +4 -4
- data/lib/neo4j/core/cypher_session/adaptors/has_uri.rb +1 -1
- data/lib/neo4j/core/cypher_session/adaptors/http.rb +2 -2
- data/lib/neo4j/core/cypher_session/responses/bolt.rb +1 -1
- data/lib/neo4j/core/cypher_session/responses/http.rb +2 -2
- data/lib/neo4j/node.rb +1 -1
- data/lib/neo4j/session.rb +1 -1
- data/lib/neo4j/transaction.rb +1 -1
- data/neo4j-core.gemspec +3 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be2d54e5bc9a7200e01917194f23aca52e0a3efb
|
4
|
+
data.tar.gz: 82de21d7bac5f16158e7a99c233892e6877dc7b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ec1fe857c5e0f1eedf4d3c29f937132307be4873c872314943f677b6b229a246e22d6f9f8e687088cc89d385f9c3b247f455e824f58457667ad7ad87639ecd37
|
7
|
+
data.tar.gz: 9fc8fa402f323111510a77ed34cbe79f0eb6a5ad3b0d7851b2713c4d1a77a70f2a159eead8e00ff4c9acc1572da2277f4e222e3273a6f50f4373d3fd2a64e4f1
|
data/Gemfile
CHANGED
@@ -18,10 +18,10 @@ group 'development' do
|
|
18
18
|
end
|
19
19
|
|
20
20
|
group 'test' do
|
21
|
+
gem 'activesupport', '~> 4.0'
|
21
22
|
gem 'coveralls', require: false
|
22
|
-
gem '
|
23
|
+
gem 'dotenv'
|
23
24
|
gem 'rspec', '~> 3.0'
|
24
25
|
gem 'rspec-its'
|
25
|
-
gem '
|
26
|
-
gem 'activesupport', '~> 4.0'
|
26
|
+
gem 'simplecov-html', require: false
|
27
27
|
end
|
data/bin/rake
CHANGED
data/lib/neo4j-core/query.rb
CHANGED
@@ -159,7 +159,7 @@ module Neo4j
|
|
159
159
|
# DETACH DELETE clause
|
160
160
|
# @return [Query]
|
161
161
|
|
162
|
-
METHODS = %w
|
162
|
+
METHODS = %w[start match optional_match call using where create create_unique merge set on_create_set on_match_set remove unwind delete detach_delete with return order skip limit] # rubocop:disable Metrics/LineLength
|
163
163
|
BREAK_METHODS = %(with call)
|
164
164
|
|
165
165
|
CLAUSIFY_CLAUSE = proc { |method| const_get(method.to_s.split('_').map(&:capitalize).join + 'Clause') }
|
data/lib/neo4j-core/version.rb
CHANGED
@@ -4,7 +4,7 @@ module Neo4j
|
|
4
4
|
include Neo4j::Server::Resource
|
5
5
|
include Neo4j::Core::ActiveEntity
|
6
6
|
|
7
|
-
MARSHAL_INSTANCE_VARIABLES = [
|
7
|
+
MARSHAL_INSTANCE_VARIABLES = %i[@rel_type @props @start_node_neo_id @end_node_neo_id @id]
|
8
8
|
|
9
9
|
def initialize(session, value)
|
10
10
|
@session = session
|
@@ -80,7 +80,7 @@ module Neo4j
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def hash_value_as_object(value, session)
|
83
|
-
return value unless [
|
83
|
+
return value unless %i[node relationship].include?(identify_entity(value))
|
84
84
|
add_entity_id(value)
|
85
85
|
|
86
86
|
basic_obj = (node?(value) ? CypherNode : CypherRelationship).new(session, value)
|
@@ -95,7 +95,7 @@ module Neo4j
|
|
95
95
|
elsif self_string.include?('relationship')
|
96
96
|
:relationship
|
97
97
|
end
|
98
|
-
elsif [
|
98
|
+
elsif %i[nodes relationships start end length].all? { |k| data.key?(k) }
|
99
99
|
:path
|
100
100
|
end
|
101
101
|
end
|
@@ -159,7 +159,7 @@ module Neo4j
|
|
159
159
|
raise_cypher_error if error?
|
160
160
|
end
|
161
161
|
|
162
|
-
RETRYABLE_ERROR_STATUSES = %w
|
162
|
+
RETRYABLE_ERROR_STATUSES = %w[DeadlockDetectedException AcquireLockTimeoutException ExternalResourceFailureException UnknownFailureException]
|
163
163
|
def retryable_error?
|
164
164
|
return unless error?
|
165
165
|
RETRYABLE_ERROR_STATUSES.include?(@error_status)
|
@@ -23,7 +23,7 @@ module Neo4j
|
|
23
23
|
end.to_s
|
24
24
|
end
|
25
25
|
|
26
|
-
ROW_REST = %w
|
26
|
+
ROW_REST = %w[row REST]
|
27
27
|
def _query(cypher_query, params = nil)
|
28
28
|
fail 'Transaction expired, unable to perform query' if expired?
|
29
29
|
statement = {statement: cypher_query, parameters: params, resultDataContents: ROW_REST}
|
@@ -15,15 +15,15 @@ module Neo4j
|
|
15
15
|
Neo4j::Core::CypherSession::Transactions::Base
|
16
16
|
end
|
17
17
|
|
18
|
-
%w
|
18
|
+
%w[
|
19
19
|
version
|
20
|
-
|
20
|
+
].each do |method, &_block|
|
21
21
|
define_method(method) do |*args, &block|
|
22
22
|
@adaptor.send(method, *args, &block)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
%w
|
26
|
+
%w[
|
27
27
|
query
|
28
28
|
queries
|
29
29
|
|
@@ -31,7 +31,7 @@ module Neo4j
|
|
31
31
|
|
32
32
|
indexes
|
33
33
|
constraints
|
34
|
-
|
34
|
+
].each do |method, &_block|
|
35
35
|
define_method(method) do |*args, &block|
|
36
36
|
@adaptor.send(method, self, *args, &block)
|
37
37
|
end
|
@@ -118,11 +118,11 @@ ERROR
|
|
118
118
|
end
|
119
119
|
end
|
120
120
|
|
121
|
-
[
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
121
|
+
%i[query_set
|
122
|
+
version
|
123
|
+
indexes
|
124
|
+
constraints
|
125
|
+
connected?].each do |method|
|
126
126
|
define_method(method) do |*_args|
|
127
127
|
fail "##{method} method not implemented on adaptor!"
|
128
128
|
end
|
@@ -172,7 +172,7 @@ ERROR
|
|
172
172
|
EMPTY = ''
|
173
173
|
NEWLINE_W_SPACES = "\n "
|
174
174
|
|
175
|
-
instrument(:query, 'neo4j.core.cypher_query', %w
|
175
|
+
instrument(:query, 'neo4j.core.cypher_query', %w[query]) do |_, _start, _finish, _id, payload|
|
176
176
|
query = payload[:query]
|
177
177
|
params_string = (query.parameters && !query.parameters.empty? ? "| #{query.parameters.inspect}" : EMPTY)
|
178
178
|
cypher = query.pretty_cypher ? NEWLINE_W_SPACES + query.pretty_cypher.gsub(/\n/, NEWLINE_W_SPACES) : query.cypher
|
@@ -84,7 +84,7 @@ module Neo4j
|
|
84
84
|
Neo4j::Core::CypherSession::Transactions::Bolt
|
85
85
|
end
|
86
86
|
|
87
|
-
instrument(:request, 'neo4j.core.bolt.request', %w
|
87
|
+
instrument(:request, 'neo4j.core.bolt.request', %w[url body]) do |_, start, finish, _id, payload|
|
88
88
|
ms = (finish - start) * 1000
|
89
89
|
|
90
90
|
" #{ANSI::BLUE}BOLT REQUEST:#{ANSI::CLEAR} #{ANSI::YELLOW}#{ms.round}ms#{ANSI::CLEAR} #{payload[:url]}"
|
@@ -32,7 +32,7 @@ module Neo4j
|
|
32
32
|
}
|
33
33
|
# For efficiency. Translates directly from bytes to types
|
34
34
|
MARKER_TYPES.keys.each do |key|
|
35
|
-
ord = eval("0x#{key}") # rubocop:disable
|
35
|
+
ord = eval("0x#{key}") # rubocop:disable Security/Eval
|
36
36
|
MARKER_TYPES[ord] = MARKER_TYPES.delete(key)
|
37
37
|
end
|
38
38
|
|
@@ -47,7 +47,7 @@ module Neo4j
|
|
47
47
|
headers[type][size] = [byte].pack('C')
|
48
48
|
end
|
49
49
|
|
50
|
-
HEADER_PACK_STRINGS = %w
|
50
|
+
HEADER_PACK_STRINGS = %w[C S L].freeze
|
51
51
|
|
52
52
|
Structure = Struct.new(:signature, :list)
|
53
53
|
|
@@ -213,12 +213,12 @@ module Neo4j
|
|
213
213
|
}
|
214
214
|
|
215
215
|
def shift_value_for_type!(type, size, marker)
|
216
|
-
if [
|
216
|
+
if %i[text list map struct].include?(type)
|
217
217
|
offset = marker - HEADER_BASE_BYTES[type]
|
218
218
|
size = shift_stream!(2 << (offset - 1)).reverse.unpack(HEADER_PACK_STRINGS[offset])[0]
|
219
219
|
end
|
220
220
|
|
221
|
-
if [
|
221
|
+
if %i[tiny_text text bytes].include?(type)
|
222
222
|
shift_stream!(size).force_encoding('UTF-8')
|
223
223
|
else
|
224
224
|
send(METHOD_MAP[type], size)
|
@@ -50,7 +50,7 @@ module Neo4j
|
|
50
50
|
end
|
51
51
|
|
52
52
|
included do
|
53
|
-
%w
|
53
|
+
%w[scheme user password host port].each do |method|
|
54
54
|
define_method(method) do
|
55
55
|
(@uri && @uri.send(method)) || (self.class.default_uri && self.class.default_uri.send(method))
|
56
56
|
end
|
@@ -25,7 +25,7 @@ module Neo4j
|
|
25
25
|
@requestor = Requestor.new(@url, USER_AGENT_STRING, self.class.method(:instrument_request), @options.fetch(:faraday_configurator, DEFAULT_FARADAY_CONFIGURATOR))
|
26
26
|
end
|
27
27
|
|
28
|
-
ROW_REST = %w
|
28
|
+
ROW_REST = %w[row REST]
|
29
29
|
|
30
30
|
def query_set(transaction, queries, options = {})
|
31
31
|
setup_queries!(queries, transaction)
|
@@ -91,7 +91,7 @@ module Neo4j
|
|
91
91
|
@connection.get(url)
|
92
92
|
end
|
93
93
|
|
94
|
-
instrument(:request, 'neo4j.core.http.request', %w
|
94
|
+
instrument(:request, 'neo4j.core.http.request', %w[method url body]) do |_, start, finish, _id, payload|
|
95
95
|
ms = (finish - start) * 1000
|
96
96
|
" #{ANSI::BLUE}HTTP REQUEST:#{ANSI::CLEAR} #{ANSI::YELLOW}#{ms.round}ms#{ANSI::CLEAR} #{payload[:method].upcase} #{payload[:url]} (#{payload[:body].size} bytes)"
|
97
97
|
end
|
@@ -50,8 +50,8 @@ module Neo4j
|
|
50
50
|
self_string = rest_datum[:self]
|
51
51
|
if self_string
|
52
52
|
type = self_string.split('/')[-2]
|
53
|
-
type.to_sym if %w
|
54
|
-
elsif [
|
53
|
+
type.to_sym if %w[node relationship].include?(type)
|
54
|
+
elsif %i[nodes relationships start end length].all? { |k| rest_datum.key?(k) }
|
55
55
|
:path
|
56
56
|
end
|
57
57
|
end
|
data/lib/neo4j/node.rb
CHANGED
@@ -196,7 +196,7 @@ module Neo4j
|
|
196
196
|
end
|
197
197
|
|
198
198
|
def validate_match!(match)
|
199
|
-
invalid_match_keys = match.keys - [
|
199
|
+
invalid_match_keys = match.keys - %i[type dir between]
|
200
200
|
fail "Invalid match keys: #{invalid_match_keys.inspect}" if !invalid_match_keys.empty?
|
201
201
|
|
202
202
|
fail "Invalid dir: #{match[:dir]}" if ![nil, :incoming, :outgoing, :both].include?(match[:dir])
|
data/lib/neo4j/session.rb
CHANGED
@@ -105,7 +105,7 @@ module Neo4j
|
|
105
105
|
validate_session_num!(db_type)
|
106
106
|
name = params[:name]
|
107
107
|
default = params[:default]
|
108
|
-
[
|
108
|
+
%i[name default].each { |k| params.delete(k) }
|
109
109
|
register(create_session(db_type, endpoint_url, params), name, default)
|
110
110
|
end
|
111
111
|
|
data/lib/neo4j/transaction.rb
CHANGED
@@ -28,7 +28,7 @@ module Neo4j
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def inspect
|
31
|
-
status_string = [
|
31
|
+
status_string = %i[id failed? active? commit_url].map do |method|
|
32
32
|
"#{method}: #{send(method)}" if respond_to?(method)
|
33
33
|
end.compact.join(', ')
|
34
34
|
|
data/neo4j-core.gemspec
CHANGED
@@ -19,9 +19,9 @@ Neo4j-core provides classes and methods to work with the graph database Neo4j.
|
|
19
19
|
EOF
|
20
20
|
|
21
21
|
s.require_path = 'lib'
|
22
|
-
s.files = Dir.glob('{bin,lib,config}/**/*') + %w
|
22
|
+
s.files = Dir.glob('{bin,lib,config}/**/*') + %w[README.md Gemfile neo4j-core.gemspec]
|
23
23
|
s.has_rdoc = true
|
24
|
-
s.extra_rdoc_files = %w
|
24
|
+
s.extra_rdoc_files = %w[README.md]
|
25
25
|
s.rdoc_options = ['--quiet', '--title', 'Neo4j::Core', '--line-numbers', '--main', 'README.rdoc', '--inline-source']
|
26
26
|
|
27
27
|
s.add_dependency('faraday', '>= 0.9.0')
|
@@ -37,12 +37,12 @@ Neo4j-core provides classes and methods to work with the graph database Neo4j.
|
|
37
37
|
s.add_development_dependency('pry')
|
38
38
|
s.add_development_dependency('yard')
|
39
39
|
s.add_development_dependency('simplecov')
|
40
|
-
s.add_development_dependency('rubocop', '~> 0.39.0')
|
41
40
|
|
42
41
|
if RUBY_PLATFORM == 'java'
|
43
42
|
s.add_dependency('neo4j-community', '>= 2.1.1')
|
44
43
|
s.add_development_dependency 'ruby-debug'
|
45
44
|
else
|
45
|
+
s.add_development_dependency('rubocop', '~> 0.49.1')
|
46
46
|
s.add_development_dependency('guard')
|
47
47
|
s.add_development_dependency('guard-rubocop')
|
48
48
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4j-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 7.2.
|
4
|
+
version: 7.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Ronge, Chris Grigg, Brian Underwood
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - "~>"
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 0.
|
187
|
+
version: 0.49.1
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - "~>"
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 0.
|
194
|
+
version: 0.49.1
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: guard
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|