neo4j-java-driver 0.1.1-java → 0.1.3-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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2420844cd278e077b7afec48f624b6af9d86844cf8276b7a04322ab7b6c7d257
4
- data.tar.gz: dbb48e01991356e19df8e4214e6c15bc7a7c6b0d530a339ce1b3d204256b19d4
3
+ metadata.gz: a7d48cf110a31752f20df26b304f6c5c8e418b5a1a79b4ddbb164c4d642f6cc5
4
+ data.tar.gz: a28b7449716f5b28801512b379f9321285bd1715611795d5156e80152f375d85
5
5
  SHA512:
6
- metadata.gz: e2775629940356371ce687ec466cc8e6c2e74f8e302df8f4316d4dfd521e032d403b67e26db483559abf4a4fae5ab3ed6fddf2da1c458e111402c0dd65628beb
7
- data.tar.gz: a89828e1144078ab4c01f7971ebdfb755171219ef84de6c366920ee8d3729c82fb3e2f721d366ba74fe17b69774c62b10bf5953949f9a0cc5b8a0ec72a3a13c7
6
+ metadata.gz: 1417cf6bef2c9e9f8fdcf0694307409eb9c358b272fc6b5252ff3ef542bd555e50cedb35c3371df304d1bdb09f8f9525f57e7863aad2078c34bb24a16e747289
7
+ data.tar.gz: ba3c8e6f803be565857afa651afdae49b93f682e7f0a8e36904f8b38f74aa23d9d3fffcfeb2151475085c260df335574549c94f6470781f950875e29a18a14fc
data/README.md CHANGED
@@ -1,16 +1,34 @@
1
1
  # Neo4j::Driver
2
2
 
3
- Proposal for an API for neo4j ruby driver. This gem contains reference implementation in jruby with most of the features
4
- completed.
5
- The proposed API is heavilly inspired but the java and javascipt driver. Please add comments and suggestions if you feel there
6
- is better idiomatic alternative in ruby.
3
+ home :: https://github.com/neo4jrb/neo4j-ruby-driver
7
4
 
8
- The file `doc/dev_manual_examples_spec.rb` contains all the code examples included in the
9
- [Chapter 4. Drivers][https://neo4j.com/docs/developer-manual/3.4/drivers/] of the Developer Manual and should be
10
- reviewed side by side with that manual.
5
+ This repository contains 2 implementation of a neo4j driver for ruby:
6
+ - `neo4j-java-driver` based on official java implementation. It provides a thin wrapper over java driver (only in jruby).
7
+ - `neo4j-ruby-driver` based on [seabolt](https://github.com/neo4j-drivers/seabolt) and [ffi](https://github.com/ffi/ffi). Available on all rubies (including jruby) and all platforms supported by seabolt.
11
8
 
12
9
  ## Installation
13
10
 
11
+ ### neo4j-java-driver
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ ```ruby
16
+ gem 'neo4j-java-driver'
17
+ ```
18
+
19
+ And then execute:
20
+
21
+ $ bundle
22
+
23
+ Or install it yourself as:
24
+
25
+ $ gem install neo4j-java-driver
26
+
27
+ ### neo4j-ruby-driver
28
+
29
+ As a prerequisite [seabolt](https://github.com/neo4j-drivers/seabolt) must be installed. Please follow the instructions to install either from package or source.
30
+ Add `SEABOLT_LIB` environment variable with the location of the installed library.
31
+
14
32
  Add this line to your application's Gemfile:
15
33
 
16
34
  ```ruby
@@ -27,42 +45,33 @@ Or install it yourself as:
27
45
 
28
46
  ## Usage
29
47
 
30
- Refer to https://neo4j.com/docs/developer-manual/3.4/drivers/.
31
-
32
- ## Development
48
+ Both drivers implement identical API and can be used interchangeably. The API is to highest possible degree consistent with the official java driver.
49
+ At this moment [The Neo4j Drivers Manual v1.7](https://neo4j.com/docs/driver-manual/1.7/) along with the ruby version of the [code fragments](https://github.com/neo4jrb/neo4j-ruby-driver/blob/master/docs/dev_manual_examples.rb) and the ruby specs provide the only documentation.
33
50
 
34
- After checking out the repo, run `bin/setup` to install dependencies.
35
- In order to run test by running `rake spec` you may have to set your own `NEO4J_BOLT_URL` URI or it will
36
- fallback to `bolt://localhost:7687`.
37
- You can also run `bin/console` for an interactive prompt that will allow you to experiment.
51
+ [Neo4j Java Driver 1.7 API](https://neo4j.com/docs/api/java-driver/current/) can be helpful as well..
38
52
 
39
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
53
+ ## Development
40
54
 
41
55
  This gem includes 2 different implementations: java driver based and another one using seabolt via ffi
42
56
 
43
57
  For java driver based:
44
58
 
45
- $ rvm use jruby-9.2.5.0
46
- $ bundle
47
- $ rspec
59
+ $ bin/setup
48
60
 
49
- FFI based:
61
+ FFI based same as above but with SEABOLT_LIB variable set (e.g. on Mac OSX):
50
62
 
51
- $ rvm use 2.5.3 # or jruby-9.2.5.0
52
- $ SEABOLT_LIB=~/seabolt/build/dist/lib/libseabolt17.dylib bundle
53
- $ SEABOLT_LIB=~/seabolt/build/dist/lib/libseabolt17.dylib rspec
63
+ $ SEABOLT_LIB=~/seabolt/build/dist/lib/libseabolt17.dylib bin/setup
54
64
 
55
- Please note that seabolt for now has to be installed separately: https://github.com/neo4j-drivers/seabolt
65
+ Please note that seabolt has to be installed separately: https://github.com/neo4j-drivers/seabolt
66
+
67
+ In order to run test by running `rake spec` you may have to set your own `NEO4J_BOLT_URL` URI or it will
68
+ fallback to `bolt://localhost:7687`.
56
69
 
57
70
  ## Contributing
58
71
 
59
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/neo4j-driver.
72
+ Suggestions, improvements, bug reports and pull requests are welcome on GitHub at https://github.com/neo4jrb/neo4j-ruby-driver.
60
73
 
61
74
  ## License
62
75
 
63
76
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
64
77
 
65
-
66
- [https://neo4j.com/docs/developer-manual/3.4/drivers/]: https://neo4j.com/docs/developer-manual/3.4/drivers/
67
-
68
- [https://neo4j.com/docs/developer-manual/3.4/drivers/]: https://neo4j.com/docs/developer-manual/3.4/drivers/
@@ -18,15 +18,16 @@ module Neo4j
18
18
  end
19
19
 
20
20
  module Types
21
- include_package 'org.neo4j.driver.v1.types'
21
+ Entity = Java::OrgNeo4jDriverInternal::InternalEntity
22
+ Node = Java::OrgNeo4jDriverInternal::InternalNode
23
+ Path = Java::OrgNeo4jDriverInternal::InternalPath
24
+ Relationship = Java::OrgNeo4jDriverInternal::InternalRelationship
22
25
  end
23
26
 
24
27
  # Workaround for missing zeitwerk support in jruby-9.2.8.0
25
- if RUBY_PLATFORM.match?(/java/)
26
- module Ext
27
- module Internal
28
- module Summary
29
- end
28
+ module Ext
29
+ module Internal
30
+ module Summary
30
31
  end
31
32
  end
32
33
  end
@@ -37,12 +38,12 @@ end
37
38
  Loader.load
38
39
 
39
40
  Java::OrgNeo4jDriverInternal::InternalDriver.prepend Neo4j::Driver::Ext::InternalDriver
40
- Java::OrgNeo4jDriverInternal::InternalNode.include Neo4j::Driver::Ext::MapAccessor
41
- Java::OrgNeo4jDriverInternal::InternalPath.include Neo4j::Driver::Ext::MapAccessor
41
+ Java::OrgNeo4jDriverInternal::InternalEntity.include Neo4j::Driver::Ext::MapAccessor
42
+ Java::OrgNeo4jDriverInternal::InternalNode.prepend Neo4j::Driver::Ext::InternalNode
42
43
  Java::OrgNeo4jDriverInternal::InternalPath.include Neo4j::Driver::Ext::StartEndNaming
43
44
  Java::OrgNeo4jDriverInternal::InternalPath::SelfContainedSegment.include Neo4j::Driver::Ext::StartEndNaming
44
45
  Java::OrgNeo4jDriverInternal::InternalRecord.prepend Neo4j::Driver::Ext::InternalRecord
45
- Java::OrgNeo4jDriverInternal::InternalRelationship.include Neo4j::Driver::Ext::MapAccessor
46
+ Java::OrgNeo4jDriverInternal::InternalRelationship.prepend Neo4j::Driver::Ext::InternalRelationship
46
47
  Java::OrgNeo4jDriverInternal::InternalStatementResult.prepend Neo4j::Driver::Ext::InternalStatementResult
47
48
  Java::OrgNeo4jDriverInternal::ExplicitTransaction.prepend Neo4j::Driver::Ext::RunOverride
48
49
  Java::OrgNeo4jDriverInternal::NetworkSession.prepend Neo4j::Driver::Ext::RunOverride
@@ -15,13 +15,21 @@ module Neo4j
15
15
  module Ext
16
16
  module ExceptionMapper
17
17
  def reraise
18
- raise mapped_exception&.new(code, message, self) || self
18
+ raise mapped_exception(self)
19
+ end
20
+
21
+ def mapped_exception(exception)
22
+ mapped_exception_class(exception)&.new(*exception.arguments) || exception
23
+ end
24
+
25
+ def arguments
26
+ [code, message, cause, suppressed.map(&method(:mapped_exception))]
19
27
  end
20
28
 
21
29
  private
22
30
 
23
- def mapped_exception
24
- case self
31
+ def mapped_exception_class(exception)
32
+ case exception
25
33
  when AuthenticationException
26
34
  Neo4j::Driver::Exceptions::AuthenticationException
27
35
  when ClientException
@@ -19,8 +19,8 @@ module Neo4j
19
19
  private
20
20
 
21
21
  def to_java_config(hash)
22
- hash.reduce(Neo4j::Driver::Config.build) { |object, key_value| object.send(*config_method(*key_value)) }
23
- .to_config
22
+ hash&.reduce(Neo4j::Driver::Config.build) { |object, key_value| object.send(*config_method(*key_value)) }
23
+ &.to_config
24
24
  end
25
25
 
26
26
  def config_method(key, value)
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Neo4j
4
+ module Driver
5
+ module Ext
6
+ module InternalNode
7
+ def labels
8
+ super.map(&:to_sym)
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Neo4j
4
+ module Driver
5
+ module Ext
6
+ module InternalRelationship
7
+ def type
8
+ super.to_sym
9
+ end
10
+ end
11
+ end
12
+ end
13
+ end
@@ -7,7 +7,7 @@ module Neo4j
7
7
  include Enumerable
8
8
  include ExceptionCheckable
9
9
 
10
- %i[has_next? next keys single consume].each do |method|
10
+ %i[has_next? next keys single consume summary].each do |method|
11
11
  define_method(method) do |*args, &block|
12
12
  check { super(*args, &block) }
13
13
  end
@@ -19,7 +19,7 @@ module Neo4j
19
19
  point = as_point
20
20
  Types::Point.new(srid: point.srid, x: point.x, y: point.y, z: nullable(point.z))
21
21
  when Java::OrgNeo4jDriverInternalTypes::TypeConstructor::BYTES
22
- Types::ByteArray.new(String.from_java_bytes(as_byte_array))
22
+ Types::Bytes.new(String.from_java_bytes(as_byte_array))
23
23
  when Java::OrgNeo4jDriverInternalTypes::TypeConstructor::TIME
24
24
  Types::OffsetTime.parse(as_offset_time.to_string)
25
25
  when Java::OrgNeo4jDriverInternalTypes::TypeConstructor::LOCAL_TIME
@@ -13,13 +13,17 @@ module Neo4j
13
13
  Struct.new('Wrapper', :object)
14
14
 
15
15
  def write_transaction
16
- super { |tx| Struct::Wrapper.new(yield(tx)) }.object
16
+ check { super { |tx| Struct::Wrapper.new(yield(tx)) }.object }
17
17
  end
18
18
 
19
19
  # end work around
20
20
 
21
21
  def run(statement, parameters = {})
22
- check { java_method(:run, [java.lang.String, java.util.Map]).call(statement, to_neo(parameters)) }
22
+ Neo4j::Driver::Internal::StatementValidator.validate!(parameters)
23
+ check do
24
+ java_method(:run, [org.neo4j.driver.v1.Statement])
25
+ .call(Neo4j::Driver::Statement.new(statement, to_neo(parameters)))
26
+ end
23
27
  end
24
28
 
25
29
  def begin_transaction # (config = nil)
@@ -36,7 +40,11 @@ module Neo4j
36
40
  case object
37
41
  when Hash
38
42
  object.map { |key, value| [key.to_s, to_neo(value)] }.to_h
39
- when Types::ByteArray
43
+ when Types::Path
44
+ Exceptions::ClientException.unable_to_convert(object)
45
+ when Enumerable
46
+ object.map(&method(:to_neo))
47
+ when Types::Bytes
40
48
  object.to_java_bytes
41
49
  when Date
42
50
  Java::JavaTime::LocalDate.of(object.year, object.month, object.day)
@@ -58,8 +66,10 @@ module Neo4j
58
66
  to_zoned_date_time(object, object.time_zone.tzinfo.identifier)
59
67
  when Time
60
68
  to_zoned_date_time(object, object.formatted_offset)
61
- else
69
+ when nil, true, false, Integer, Float, String
62
70
  object
71
+ else
72
+ raise Exceptions::ClientException.unable_to_convert(object)
63
73
  end
64
74
  end
65
75
 
@@ -4,6 +4,11 @@ module Neo4j
4
4
  module Driver
5
5
  module Exceptions
6
6
  class ClientException < Neo4jException
7
+ class << self
8
+ def unable_to_convert(object)
9
+ raise self, "Unable to convert #{object.class.name} to Neo4j Value."
10
+ end
11
+ end
7
12
  end
8
13
  end
9
14
  end
@@ -4,14 +4,19 @@ module Neo4j
4
4
  module Driver
5
5
  module Exceptions
6
6
  class Neo4jException < RuntimeError
7
- attr_reader :code, :cause
7
+ attr_reader :code, :cause, :suppressed
8
8
 
9
9
  def initialize(*args)
10
10
  @code = args.shift if args.count > 1
11
11
  message = args.shift
12
12
  @cause = args.shift
13
+ @suppressed = args.shift
13
14
  super(message)
14
15
  end
16
+
17
+ def add_suppressed(exception)
18
+ (@suppressed ||= []) << exception
19
+ end
15
20
  end
16
21
  end
17
22
  end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Neo4j
4
+ module Driver
5
+ module Internal
6
+ module StatementValidator
7
+ def self.validate!(parameters)
8
+ unless parameters.nil? || parameters.is_a?(Hash)
9
+ raise ArgumentError,
10
+ "The parameters should be provided as Map type. Unsupported parameters type: #{parameters.class.name}"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Neo4j
4
+ module Driver
5
+ module Types
6
+ class Bytes < String
7
+ end
8
+ end
9
+ end
10
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Neo4j
4
4
  module Driver
5
- VERSION = '0.1.1'
5
+ VERSION = '0.1.3'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: neo4j-java-driver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  platform: java
6
6
  authors:
7
7
  - Heinrich Klobuczek
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-20 00:00:00.000000000 Z
11
+ date: 2019-10-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -16,7 +16,7 @@ dependencies:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
18
  version: '0'
19
- name: jar-dependencies
19
+ name: activesupport
20
20
  prerelease: false
21
21
  type: :runtime
22
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,15 +24,29 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.1.10
33
+ name: zeitwerk
34
+ prerelease: false
35
+ type: :runtime
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 2.1.10
27
41
  - !ruby/object:Gem::Dependency
28
42
  requirement: !ruby/object:Gem::Requirement
29
43
  requirements:
30
44
  - - ">="
31
45
  - !ruby/object:Gem::Version
32
46
  version: '0'
33
- name: ruby-maven
47
+ name: jar-dependencies
34
48
  prerelease: false
35
- type: :development
49
+ type: :runtime
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - ">="
@@ -44,35 +58,63 @@ dependencies:
44
58
  - - ">="
45
59
  - !ruby/object:Gem::Version
46
60
  version: '0'
47
- name: activesupport
61
+ name: ffaker
48
62
  prerelease: false
49
- type: :runtime
63
+ type: :development
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.3.0
75
+ name: neo4j-rake_tasks
76
+ prerelease: false
77
+ type: :development
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.3.0
55
83
  - !ruby/object:Gem::Dependency
56
84
  requirement: !ruby/object:Gem::Requirement
57
85
  requirements:
58
86
  - - ">="
59
87
  - !ruby/object:Gem::Version
60
88
  version: '0'
61
- name: zeitwerk
89
+ name: parallel
62
90
  prerelease: false
63
- type: :runtime
91
+ type: :development
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - ">="
67
95
  - !ruby/object:Gem::Version
68
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "<"
101
+ - !ruby/object:Gem::Version
102
+ version: '13'
103
+ name: rake
104
+ prerelease: false
105
+ type: :development
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "<"
109
+ - !ruby/object:Gem::Version
110
+ version: '13'
69
111
  - !ruby/object:Gem::Dependency
70
112
  requirement: !ruby/object:Gem::Requirement
71
113
  requirements:
72
114
  - - ">="
73
115
  - !ruby/object:Gem::Version
74
116
  version: '0'
75
- name: bundler
117
+ name: rspec-its
76
118
  prerelease: false
77
119
  type: :development
78
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -85,22 +127,22 @@ dependencies:
85
127
  requirements:
86
128
  - - ">="
87
129
  - !ruby/object:Gem::Version
88
- version: 0.3.0
89
- name: neo4j-rake_tasks
130
+ version: '0'
131
+ name: hoe
90
132
  prerelease: false
91
133
  type: :development
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - ">="
95
137
  - !ruby/object:Gem::Version
96
- version: 0.3.0
138
+ version: '0'
97
139
  - !ruby/object:Gem::Dependency
98
140
  requirement: !ruby/object:Gem::Requirement
99
141
  requirements:
100
142
  - - ">="
101
143
  - !ruby/object:Gem::Version
102
144
  version: '0'
103
- name: parallel
145
+ name: hoe-bundler
104
146
  prerelease: false
105
147
  type: :development
106
148
  version_requirements: !ruby/object:Gem::Requirement
@@ -114,7 +156,7 @@ dependencies:
114
156
  - - ">="
115
157
  - !ruby/object:Gem::Version
116
158
  version: '0'
117
- name: rake
159
+ name: hoe-gemspec
118
160
  prerelease: false
119
161
  type: :development
120
162
  version_requirements: !ruby/object:Gem::Requirement
@@ -128,7 +170,7 @@ dependencies:
128
170
  - - ">="
129
171
  - !ruby/object:Gem::Version
130
172
  version: '0'
131
- name: rspec-its
173
+ name: ruby-maven
132
174
  prerelease: false
133
175
  type: :development
134
176
  version_requirements: !ruby/object:Gem::Requirement
@@ -136,24 +178,46 @@ dependencies:
136
178
  - - ">="
137
179
  - !ruby/object:Gem::Version
138
180
  version: '0'
139
- description:
181
+ - !ruby/object:Gem::Dependency
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - ">="
185
+ - !ruby/object:Gem::Version
186
+ version: '4.0'
187
+ - - "<"
188
+ - !ruby/object:Gem::Version
189
+ version: '7'
190
+ name: rdoc
191
+ prerelease: false
192
+ type: :development
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '4.0'
198
+ - - "<"
199
+ - !ruby/object:Gem::Version
200
+ version: '7'
201
+ description: ''
140
202
  email:
141
203
  - heinrich@mail.com
142
204
  executables: []
143
205
  extensions: []
144
- extra_rdoc_files: []
206
+ extra_rdoc_files:
207
+ - LICENSE.txt
208
+ - README.md
145
209
  files:
146
- - Gemfile
147
210
  - LICENSE.txt
148
211
  - README.md
149
- - Rakefile
150
212
  - jruby/neo4j/driver.rb
151
213
  - jruby/neo4j/driver/ext/exception_checkable.rb
152
214
  - jruby/neo4j/driver/ext/exception_mapper.rb
153
215
  - jruby/neo4j/driver/ext/graph_database.rb
154
216
  - jruby/neo4j/driver/ext/internal/summary/internal_result_summary.rb
155
217
  - jruby/neo4j/driver/ext/internal_driver.rb
218
+ - jruby/neo4j/driver/ext/internal_node.rb
156
219
  - jruby/neo4j/driver/ext/internal_record.rb
220
+ - jruby/neo4j/driver/ext/internal_relationship.rb
157
221
  - jruby/neo4j/driver/ext/internal_statement_result.rb
158
222
  - jruby/neo4j/driver/ext/map_accessor.rb
159
223
  - jruby/neo4j/driver/ext/ruby_converter.rb
@@ -176,7 +240,8 @@ files:
176
240
  - lib/neo4j/driver/exceptions/untrusted_server_exception.rb
177
241
  - lib/neo4j/driver/internal/duration_normalizer.rb
178
242
  - lib/neo4j/driver/internal/ruby_signature.rb
179
- - lib/neo4j/driver/types/byte_array.rb
243
+ - lib/neo4j/driver/internal/statement_validator.rb
244
+ - lib/neo4j/driver/types/bytes.rb
180
245
  - lib/neo4j/driver/types/local_date_time.rb
181
246
  - lib/neo4j/driver/types/local_time.rb
182
247
  - lib/neo4j/driver/types/offset_time.rb
@@ -184,16 +249,14 @@ files:
184
249
  - lib/neo4j/driver/types/time.rb
185
250
  - lib/neo4j/driver/version.rb
186
251
  - lib/neo4j_ruby_driver.rb
187
- - neo4j-ruby-driver.gemspec
188
252
  homepage: https://github.com/neo4jrb/neo4j-ruby-driver
189
253
  licenses:
190
254
  - MIT
191
- metadata:
192
- allowed_push_host: https://rubygems.org/
193
- homepage_uri: https://github.com/neo4jrb/neo4j-ruby-driver
194
- source_code_uri: https://github.com/neo4jrb/neo4j-ruby-driver
255
+ metadata: {}
195
256
  post_install_message:
196
- rdoc_options: []
257
+ rdoc_options:
258
+ - "--main"
259
+ - README.md
197
260
  require_paths:
198
261
  - lib
199
262
  - jruby
@@ -209,8 +272,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
272
  version: '0'
210
273
  requirements:
211
274
  - jar org.neo4j.driver, neo4j-java-driver, 1.7.5
212
- rubygems_version: 3.0.6
275
+ rubyforge_project:
276
+ rubygems_version: 2.7.9
213
277
  signing_key:
214
278
  specification_version: 4
215
- summary: neo4j ruby driver
279
+ summary: ''
216
280
  test_files: []
data/Gemfile DELETED
@@ -1,8 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
-
7
- # Specify your gem's dependencies in neo4j-driver.gemspec
8
- gemspec
data/Rakefile DELETED
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'bundler/gem_tasks'
4
- require 'rspec/core/rake_task'
5
- require 'neo4j/rake_tasks'
6
-
7
- if RUBY_PLATFORM.match?(/java/) && ENV['SEABOLT_LIB']&.length&.positive?
8
- require 'jars/installer'
9
- task :install_jars do
10
- Jars::Installer.vendor_jars!('jruby')
11
- end
12
- end
13
-
14
- RSpec::Core::RakeTask.new(:spec)
15
-
16
- task default: :spec
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Neo4j
4
- module Driver
5
- module Types
6
- class ByteArray < String
7
- def self.from_bytes(bytes)
8
- new(bytes.pack('C*'))
9
- end
10
-
11
- def to_bytes
12
- unpack('C*')
13
- end
14
- end
15
- end
16
- end
17
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- lib = File.expand_path('lib', __dir__)
4
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'neo4j/driver/version'
6
-
7
- Gem::Specification.new do |spec|
8
- ffi = ENV['SEABOLT_LIB']&.length&.positive?
9
-
10
- spec.name = "neo4j-#{ffi ? :ruby : :java}-driver"
11
- spec.version = Neo4j::Driver::VERSION
12
- spec.authors = ['Heinrich Klobuczek']
13
- spec.email = ['heinrich@mail.com']
14
-
15
- spec.summary = 'neo4j ruby driver'
16
- spec.homepage = 'https://github.com/neo4jrb/neo4j-ruby-driver'
17
- spec.license = 'MIT'
18
-
19
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
20
- # to allow pushing to a single host or delete this section to allow pushing to any host.
21
- if spec.respond_to?(:metadata)
22
- spec.metadata['allowed_push_host'] = 'https://rubygems.org/'
23
-
24
- spec.metadata['homepage_uri'] = spec.homepage
25
- spec.metadata['source_code_uri'] = 'https://github.com/neo4jrb/neo4j-ruby-driver'
26
- # spec.metadata["changelog_uri"] = "TODO: Put your gem's CHANGELOG.md URL here."
27
- else
28
- raise 'RubyGems 2.0 or newer is required to protect against ' \
29
- 'public gem pushes.'
30
- end
31
-
32
- # Specify which files should be added to the gem when it is released.
33
- spec.files << Dir[*%w[neo4j-ruby-driver.gemspec Rakefile README.md LICENSE.txt Gemfile lib/neo4j_ruby_driver.rb lib/loader.rb]]
34
-
35
- pdir = ffi ? 'ffi' : 'jruby'
36
-
37
- spec.files << Dir['lib/neo4j/**/*.rb']
38
- spec.files << Dir["#{pdir}/**/*.rb"]
39
-
40
- spec.bindir = 'exe'
41
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
42
- spec.require_paths = ['lib', pdir]
43
-
44
- spec.platform = 'java' if RUBY_PLATFORM.match?(/java/)
45
-
46
- if ffi
47
- spec.add_runtime_dependency 'ffi'
48
- spec.add_runtime_dependency 'recursive-open-struct'
49
- else
50
- spec.add_runtime_dependency 'jar-dependencies'
51
- spec.requirements << 'jar org.neo4j.driver, neo4j-java-driver, 1.7.5'
52
- # avoids to install it on the fly when jar-dependencies needs it
53
- spec.add_development_dependency 'ruby-maven'
54
- end
55
-
56
- spec.add_runtime_dependency 'activesupport'
57
- spec.add_runtime_dependency 'zeitwerk'
58
- spec.add_development_dependency 'bundler'
59
- spec.add_development_dependency 'neo4j-rake_tasks', '>= 0.3.0'
60
- spec.add_development_dependency 'parallel'
61
- spec.add_development_dependency 'rake'
62
- spec.add_development_dependency 'rspec-its'
63
- end