neo4j-java-driver 0.1.1-java → 0.1.3-java

Sign up to get free protection for your applications and to get access to all the features.
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