activegraph 10.0.0 → 10.1.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/CHANGELOG.md +29 -0
- data/Gemfile +1 -2
- data/README.md +22 -20
- data/activegraph.gemspec +4 -2
- data/lib/active_graph/migrations/runner.rb +13 -9
- data/lib/active_graph/node/has_n.rb +4 -2
- data/lib/active_graph/node/query/query_proxy_eager_loading/association_tree.rb +1 -0
- data/lib/active_graph/node/query/query_proxy_eager_loading.rb +3 -9
- data/lib/active_graph/node/query/query_proxy_link.rb +1 -2
- data/lib/active_graph/node/query/query_proxy_methods_of_mass_updating.rb +8 -19
- data/lib/active_graph/node/validations.rb +1 -1
- data/lib/active_graph/shared/type_converters.rb +27 -0
- data/lib/active_graph/tasks/migration.rake +1 -2
- data/lib/active_graph/transaction.rb +4 -1
- data/lib/active_graph/transactions.rb +1 -1
- data/lib/active_graph/version.rb +1 -1
- metadata +38 -11
- data/lib/active_graph/core/connection_failed_error.rb +0 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65cca8a21c8ecb9dff1f8fdf38ab82bcbc02fb211bc29a1b50f947e1d4126b9f
|
|
4
|
+
data.tar.gz: c64ebb3dff76ec6b66eebe3499aef2fb15a1db56cf786e2da250e0ace1e6bcb8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 898089b35cfcf2d101103ada41f27c1884cb00d9169b802526d4573af60cc577a8ddbb3ca71be96d9e54202a95a7a560448b6b27bdd57ff964b6d9e0b4f8b2e5
|
|
7
|
+
data.tar.gz: 3c3f46755b637e4cdc663f450dc5d247720cee609ae14fa00de87c01f9c9fe09a96d6e9a2bf9b3967f56460444946b35654061ef4cd24e36d9a7acadd20d7f89
|
data/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,35 @@ All notable changes to this project will be documented in this file.
|
|
|
3
3
|
This file should follow the standards specified on [http://keepachangelog.com/]
|
|
4
4
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
|
|
6
|
+
## [10.1.1] 2021-11-05
|
|
7
|
+
|
|
8
|
+
## Fixed
|
|
9
|
+
|
|
10
|
+
- Fixed issue where some has_one relationships where incorrectly deleted disregarding direction
|
|
11
|
+
- It changes the relationship length assignment in query proxy eagerloading module to be consistent with query proxy relationship length syntax.
|
|
12
|
+
|
|
13
|
+
## [10.1.0] 2021-02-05
|
|
14
|
+
|
|
15
|
+
## Added
|
|
16
|
+
|
|
17
|
+
- support for ruby 3.0.0
|
|
18
|
+
|
|
19
|
+
## [10.0.2] 2020-12-08
|
|
20
|
+
|
|
21
|
+
## Fixed
|
|
22
|
+
|
|
23
|
+
- fixed bad require (https://github.com/neo4jrb/activegraph/issues/1634)
|
|
24
|
+
- removed unused exception class (Thanks @joshjordan)
|
|
25
|
+
- prevented after_commit callbacks from being called multiple times (Thanks @joshjordan)
|
|
26
|
+
|
|
27
|
+
## [10.0.1] 2020-07-26
|
|
28
|
+
|
|
29
|
+
## Fixed
|
|
30
|
+
|
|
31
|
+
- fixed incorrect id comparison, which could result in lost relationships (https://github.com/neo4jrb/activegraph/issues/1611)
|
|
32
|
+
- brought back BigDecimalConverter
|
|
33
|
+
- fixed rails template (Thanks @ekampp)
|
|
34
|
+
|
|
6
35
|
## [10.0.0] 2020-07-06
|
|
7
36
|
|
|
8
37
|
- neo4j 4.0 support (default database only)
|
data/Gemfile
CHANGED
|
@@ -7,7 +7,7 @@ gemspec
|
|
|
7
7
|
gem 'listen', '< 3.1'
|
|
8
8
|
|
|
9
9
|
active_model_version = ENV['ACTIVE_MODEL_VERSION']
|
|
10
|
-
gem 'activemodel', "~> #{active_model_version}" if active_model_version
|
|
10
|
+
gem 'activemodel', "~> #{active_model_version}" if active_model_version&.length&.positive?
|
|
11
11
|
|
|
12
12
|
group 'test' do
|
|
13
13
|
gem 'coveralls', require: false
|
|
@@ -15,7 +15,6 @@ group 'test' do
|
|
|
15
15
|
gem 'codecov', require: false
|
|
16
16
|
gem 'simplecov', require: false
|
|
17
17
|
gem 'simplecov-html', require: false
|
|
18
|
-
gem 'rspec', '~> 3.4'
|
|
19
18
|
gem 'its'
|
|
20
19
|
gem 'test-unit'
|
|
21
20
|
gem 'colored'
|
data/README.md
CHANGED
|
@@ -45,31 +45,33 @@ Neo4j.rb v4.1.0 was released in January of 2015. Its changes are outlined [here]
|
|
|
45
45
|
|
|
46
46
|
## Neo4j version support
|
|
47
47
|
|
|
48
|
-
| **Neo4j Version** | v2.x | v3.x | >= v4.x | >= 7.0.3 | activegraph 10.0 |
|
|
49
|
-
|
|
50
|
-
| 1.9.x | Yes | No | No | No | No |
|
|
51
|
-
| 2.0.x | No | Yes | No | No | No |
|
|
52
|
-
| 2.1.x | No | Yes | Yes * | Yes | No |
|
|
53
|
-
| 2.2.x | No | No | Yes | Yes | No |
|
|
54
|
-
| 2.3.x | No | No | Yes | Yes | No |
|
|
55
|
-
| 3.0, 3.1, 3.3 | No | No | No | Yes | No |
|
|
56
|
-
| 3.4
|
|
57
|
-
|
|
|
58
|
-
| 4.
|
|
48
|
+
| **Neo4j Version** | v2.x | v3.x | >= v4.x | >= 7.0.3 | activegraph 10.0 | activegraph 11.0.0.beta.4-java |
|
|
49
|
+
|-------------------|------|-------|---------|----------|------------------|--------------------------------|
|
|
50
|
+
| 1.9.x | Yes | No | No | No | No | No
|
|
51
|
+
| 2.0.x | No | Yes | No | No | No | No
|
|
52
|
+
| 2.1.x | No | Yes | Yes * | Yes | No | No
|
|
53
|
+
| 2.2.x | No | No | Yes | Yes | No | No
|
|
54
|
+
| 2.3.x | No | No | Yes | Yes | No | No
|
|
55
|
+
| 3.0, 3.1, 3.3 | No | No | No | Yes | No | No
|
|
56
|
+
| 3.4 | No | No | No | Yes | Yes | No
|
|
57
|
+
| 3.5 | No | No | No | Yes | Yes | Yes
|
|
58
|
+
| 4.0 | No | No | No | No | Yes | Yes
|
|
59
|
+
| 4.1 | No | No | No | No | No | Yes
|
|
60
|
+
| 4.2 | No | No | No | No | No | Yes
|
|
59
61
|
|
|
60
62
|
`*` Neo4j.rb >= 4.x doesn't support Neo4j versions before 2.1.5. To use 2.1.x you should upgrade to a version >= 2.1.5
|
|
61
63
|
|
|
62
64
|
## Neo4j feature support
|
|
63
65
|
|
|
64
|
-
| **Neo4j Feature** | v2.x | v3.x | >= v4.x | >= 8.x | activegraph 10.0 |
|
|
65
|
-
|
|
66
|
-
| Bolt Protocol | No | No | No | Yes | Yes
|
|
67
|
-
| Auth | No | No | Yes | Yes | Yes
|
|
68
|
-
| Remote Cypher | Yes | Yes | Yes | Yes | No
|
|
69
|
-
| Transactions | Yes | Yes | Yes | Yes | Yes
|
|
70
|
-
| High Availability | No | Yes | Yes | Yes | Yes
|
|
71
|
-
| Causal Cluster | No | No | No | No | Yes
|
|
72
|
-
| Embedded JVM support | Yes | Yes | Yes | Yes | via bolt only
|
|
66
|
+
| **Neo4j Feature** | v2.x | v3.x | >= v4.x | >= 8.x | >= activegraph 10.0 |
|
|
67
|
+
|----------------------------|--------|------|---------|--------|---------------------|
|
|
68
|
+
| Bolt Protocol | No | No | No | Yes | Yes |
|
|
69
|
+
| Auth | No | No | Yes | Yes | Yes |
|
|
70
|
+
| Remote Cypher | Yes | Yes | Yes | Yes | No |
|
|
71
|
+
| Transactions | Yes | Yes | Yes | Yes | Yes |
|
|
72
|
+
| High Availability | No | Yes | Yes | Yes | Yes |
|
|
73
|
+
| Causal Cluster | No | No | No | No | Yes |
|
|
74
|
+
| Embedded JVM support | Yes | Yes | Yes | Yes | via bolt only |
|
|
73
75
|
|
|
74
76
|
## Documentation
|
|
75
77
|
|
data/activegraph.gemspec
CHANGED
|
@@ -32,13 +32,14 @@ DESCRIPTION
|
|
|
32
32
|
|
|
33
33
|
s.add_dependency('activemodel', '>= 4.0')
|
|
34
34
|
s.add_dependency('activesupport', '>= 4.0')
|
|
35
|
-
s.add_dependency('i18n', '!= 1.
|
|
35
|
+
s.add_dependency('i18n', '!= 1.8.8') # https://github.com/jruby/jruby/issues/6547
|
|
36
36
|
s.add_dependency('orm_adapter', '~> 0.5.0')
|
|
37
|
+
s.add_dependency('sorted_set')
|
|
37
38
|
s.add_development_dependency('guard')
|
|
38
39
|
s.add_development_dependency('guard-rspec')
|
|
39
40
|
s.add_development_dependency('guard-rubocop')
|
|
40
41
|
s.add_development_dependency('neo4j-rake_tasks', '>= 0.3.0')
|
|
41
|
-
s.add_development_dependency("neo4j-#{ENV['driver'] == 'java' ? 'java' : 'ruby'}-driver", '~> 1.7.
|
|
42
|
+
s.add_development_dependency("neo4j-#{ENV['driver'] == 'java' ? 'java' : 'ruby'}-driver", '~> 1.7.4')
|
|
42
43
|
s.add_development_dependency('os')
|
|
43
44
|
s.add_development_dependency('pry')
|
|
44
45
|
s.add_development_dependency('railties', '>= 4.0')
|
|
@@ -46,4 +47,5 @@ DESCRIPTION
|
|
|
46
47
|
s.add_development_dependency('rubocop', '>= 0.56.0')
|
|
47
48
|
s.add_development_dependency('yard')
|
|
48
49
|
s.add_development_dependency('dryspec')
|
|
50
|
+
s.add_development_dependency('rspec', '< 3.10') # Cannot proxy frozen objects
|
|
49
51
|
end
|
|
@@ -1,15 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'sorted_set'
|
|
4
|
+
|
|
1
5
|
module ActiveGraph
|
|
2
6
|
module Migrations
|
|
3
7
|
class Runner
|
|
4
|
-
STATUS_TABLE_FORMAT = '%-10s %-20s %s'
|
|
5
|
-
SEPARATOR = '--------------------------------------------------'
|
|
6
|
-
FILE_MISSING = '**** file missing ****'
|
|
7
|
-
STATUS_TABLE_HEADER = ['Status'
|
|
8
|
-
UP_MESSAGE = 'up'
|
|
9
|
-
DOWN_MESSAGE = 'down'
|
|
10
|
-
INCOMPLETE_MESSAGE = 'incomplete'
|
|
11
|
-
MIGRATION_RUNNING = {up: 'running'
|
|
12
|
-
MIGRATION_DONE = {up: 'migrated'
|
|
8
|
+
STATUS_TABLE_FORMAT = '%-10s %-20s %s'
|
|
9
|
+
SEPARATOR = '--------------------------------------------------'
|
|
10
|
+
FILE_MISSING = '**** file missing ****'
|
|
11
|
+
STATUS_TABLE_HEADER = ['Status', 'Migration ID', 'Migration Name'].freeze
|
|
12
|
+
UP_MESSAGE = 'up'
|
|
13
|
+
DOWN_MESSAGE = 'down'
|
|
14
|
+
INCOMPLETE_MESSAGE = 'incomplete'
|
|
15
|
+
MIGRATION_RUNNING = {up: 'running', down: 'reverting'}.freeze
|
|
16
|
+
MIGRATION_DONE = {up: 'migrated', down: 'reverted'}.freeze
|
|
13
17
|
|
|
14
18
|
def initialize(options = {})
|
|
15
19
|
@silenced = options[:silenced] || !!ENV['MIGRATIONS_SILENCED']
|
|
@@ -253,8 +253,10 @@ module ActiveGraph::Node
|
|
|
253
253
|
|
|
254
254
|
def relationship_corresponding_rel(relationship, direction, target_class)
|
|
255
255
|
self.class.associations.find do |_key, assoc|
|
|
256
|
-
assoc.
|
|
257
|
-
|
|
256
|
+
assoc.direction == direction && (
|
|
257
|
+
assoc.relationship_class_name == relationship.class.name ||
|
|
258
|
+
(assoc.relationship_type == relationship.type.to_sym && assoc.target_class == target_class)
|
|
259
|
+
)
|
|
258
260
|
end
|
|
259
261
|
end
|
|
260
262
|
|
|
@@ -68,7 +68,7 @@ module ActiveGraph
|
|
|
68
68
|
|
|
69
69
|
def init_associations(node, element)
|
|
70
70
|
element.each_key { |key| node.association_proxy(key).init_cache }
|
|
71
|
-
node.association_proxy(element.name).init_cache if element.rel_length == ''
|
|
71
|
+
node.association_proxy(element.name).init_cache if element.rel_length && element.rel_length[:max] == ''
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
def cache_and_init(node, element)
|
|
@@ -157,14 +157,8 @@ module ActiveGraph
|
|
|
157
157
|
end
|
|
158
158
|
|
|
159
159
|
def relationship_part(association, path_name, rel_length)
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
length = {max: rel_length}
|
|
163
|
-
else
|
|
164
|
-
rel_name = escape("#{path_name}_rel")
|
|
165
|
-
length = nil
|
|
166
|
-
end
|
|
167
|
-
"#{association.arrow_cypher(rel_name, {}, false, false, length)}(#{escape(path_name)})"
|
|
160
|
+
rel_name = escape("#{path_name}_rel") unless rel_length
|
|
161
|
+
"#{association.arrow_cypher(rel_name, {}, false, false, rel_length)}(#{escape(path_name)})"
|
|
168
162
|
end
|
|
169
163
|
|
|
170
164
|
def chain
|
|
@@ -22,6 +22,7 @@ module ActiveGraph
|
|
|
22
22
|
class << self
|
|
23
23
|
def for_clause(clause, arg, model, *args)
|
|
24
24
|
method_to_call = "for_#{clause}_clause"
|
|
25
|
+
return unless respond_to?(method_to_call)
|
|
25
26
|
|
|
26
27
|
send(method_to_call, arg, model, *args)
|
|
27
28
|
end
|
|
@@ -112,8 +113,6 @@ module ActiveGraph
|
|
|
112
113
|
default = [Link.new(clause, arg, *args)]
|
|
113
114
|
|
|
114
115
|
Link.for_clause(clause, arg, model, *args) || default
|
|
115
|
-
rescue NoMethodError
|
|
116
|
-
default
|
|
117
116
|
end
|
|
118
117
|
|
|
119
118
|
def converted_keys(model, arg)
|
|
@@ -49,31 +49,20 @@ module ActiveGraph
|
|
|
49
49
|
# Deletes the relationships between all nodes for the last step in the QueryProxy chain and replaces them with relationships to the given nodes.
|
|
50
50
|
# Executed in the database, callbacks will not be run.
|
|
51
51
|
def replace_with(node_or_nodes)
|
|
52
|
-
|
|
52
|
+
node_or_nodes = Array(node_or_nodes).map { |arg| arg.is_a?(ActiveGraph::Node) ? arg : @model.find(arg) }
|
|
53
53
|
original_ids = self.pluck(:id)
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
new_nodes | node_hash.values
|
|
54
|
+
delete_rels_for_nodes(original_ids, node_or_nodes.collect(&:id))
|
|
55
|
+
add_rels(node_or_nodes, original_ids)
|
|
57
56
|
end
|
|
58
57
|
|
|
59
|
-
def
|
|
60
|
-
|
|
61
|
-
if
|
|
62
|
-
hash[arg.to_i] = @model.find(arg)
|
|
63
|
-
else
|
|
64
|
-
key = arg.persisted? ? arg.id : "tmp_#{inx}"
|
|
65
|
-
hash[key] = arg
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def add_rels(node_hash, original_ids)
|
|
71
|
-
(node_hash.keys - original_ids).map do |id|
|
|
72
|
-
node_hash[id] if _create_relation_or_defer(node_hash[id])
|
|
58
|
+
def add_rels(node_or_nodes, original_ids)
|
|
59
|
+
node_or_nodes.map do |obj|
|
|
60
|
+
obj if original_ids.include?(obj.id) || _create_relation_or_defer(obj)
|
|
73
61
|
end.compact
|
|
74
62
|
end
|
|
75
63
|
|
|
76
|
-
def delete_rels_for_nodes(
|
|
64
|
+
def delete_rels_for_nodes(original_ids, new_ids)
|
|
65
|
+
ids = original_ids.select { |id| !new_ids.include?(id) }
|
|
77
66
|
return unless ids.present?
|
|
78
67
|
if association.dependent
|
|
79
68
|
start_object.public_send("dependent_#{association.dependent}_callback", association, ids)
|
|
@@ -28,7 +28,7 @@ module ActiveGraph
|
|
|
28
28
|
def validate_each(record, attribute, value)
|
|
29
29
|
return unless found(record, attribute, value).exists?
|
|
30
30
|
|
|
31
|
-
record.errors.add(attribute, :taken, options.except(:case_sensitive, :scope).merge(value: value))
|
|
31
|
+
record.errors.add(attribute, :taken, **options.except(:case_sensitive, :scope).merge(value: value))
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
def found(record, attribute, value)
|
|
@@ -69,6 +69,33 @@ module ActiveGraph::Shared
|
|
|
69
69
|
end
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
+
class BigDecimalConverter < BaseConverter
|
|
73
|
+
class << self
|
|
74
|
+
def convert_type
|
|
75
|
+
BigDecimal
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def db_type
|
|
79
|
+
String
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def to_db(value)
|
|
83
|
+
case value
|
|
84
|
+
when Rational
|
|
85
|
+
value.to_f.to_d
|
|
86
|
+
when respond_to?(:to_d)
|
|
87
|
+
value.to_d
|
|
88
|
+
else
|
|
89
|
+
BigDecimal(value.to_s)
|
|
90
|
+
end.to_s
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def to_ruby(value)
|
|
94
|
+
value.to_d
|
|
95
|
+
end
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
72
99
|
class StringConverter < BaseConverter
|
|
73
100
|
class << self
|
|
74
101
|
def convert_type
|
|
@@ -5,9 +5,8 @@ require 'active_graph/migration'
|
|
|
5
5
|
if !defined?(Rails) && !Rake::Task.task_defined?('environment')
|
|
6
6
|
desc 'Run a script against the database to perform system-wide changes'
|
|
7
7
|
task :environment do
|
|
8
|
-
require 'active_graph/session_manager'
|
|
9
8
|
require 'ostruct'
|
|
10
|
-
neo4j_url = ENV['NEO4J_URL'] || '
|
|
9
|
+
neo4j_url = ENV['NEO4J_URL'] || 'bolt://localhost:7687'
|
|
11
10
|
$LOAD_PATH.unshift File.dirname('./')
|
|
12
11
|
ActiveGraph::Base.on_establish_driver do
|
|
13
12
|
Neo4j::Driver::GraphDatabase.driver(neo4j_url)
|
|
@@ -8,13 +8,16 @@ module ActiveGraph
|
|
|
8
8
|
def close
|
|
9
9
|
success
|
|
10
10
|
super
|
|
11
|
-
after_commit_registry.each(&:call) unless @failure
|
|
12
11
|
end
|
|
13
12
|
|
|
14
13
|
def after_commit(&block)
|
|
15
14
|
after_commit_registry << block
|
|
16
15
|
end
|
|
17
16
|
|
|
17
|
+
def apply_callbacks
|
|
18
|
+
after_commit_registry.each(&:call) unless @failure
|
|
19
|
+
end
|
|
20
|
+
|
|
18
21
|
private
|
|
19
22
|
|
|
20
23
|
def after_commit_registry
|
data/lib/active_graph/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activegraph
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 10.
|
|
4
|
+
version: 10.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andreas Ronge, Brian Underwood, Chris Grigg, Heinrich Klobuczek
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-11-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "!="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.
|
|
47
|
+
version: 1.8.8
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "!="
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: 1.
|
|
54
|
+
version: 1.8.8
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: orm_adapter
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,6 +66,20 @@ dependencies:
|
|
|
66
66
|
- - "~>"
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: 0.5.0
|
|
69
|
+
- !ruby/object:Gem::Dependency
|
|
70
|
+
name: sorted_set
|
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
|
72
|
+
requirements:
|
|
73
|
+
- - ">="
|
|
74
|
+
- !ruby/object:Gem::Version
|
|
75
|
+
version: '0'
|
|
76
|
+
type: :runtime
|
|
77
|
+
prerelease: false
|
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
requirements:
|
|
80
|
+
- - ">="
|
|
81
|
+
- !ruby/object:Gem::Version
|
|
82
|
+
version: '0'
|
|
69
83
|
- !ruby/object:Gem::Dependency
|
|
70
84
|
name: guard
|
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -128,14 +142,14 @@ dependencies:
|
|
|
128
142
|
requirements:
|
|
129
143
|
- - "~>"
|
|
130
144
|
- !ruby/object:Gem::Version
|
|
131
|
-
version: 1.7.
|
|
145
|
+
version: 1.7.4
|
|
132
146
|
type: :development
|
|
133
147
|
prerelease: false
|
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
|
135
149
|
requirements:
|
|
136
150
|
- - "~>"
|
|
137
151
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: 1.7.
|
|
152
|
+
version: 1.7.4
|
|
139
153
|
- !ruby/object:Gem::Dependency
|
|
140
154
|
name: os
|
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -234,6 +248,20 @@ dependencies:
|
|
|
234
248
|
- - ">="
|
|
235
249
|
- !ruby/object:Gem::Version
|
|
236
250
|
version: '0'
|
|
251
|
+
- !ruby/object:Gem::Dependency
|
|
252
|
+
name: rspec
|
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
|
254
|
+
requirements:
|
|
255
|
+
- - "<"
|
|
256
|
+
- !ruby/object:Gem::Version
|
|
257
|
+
version: '3.10'
|
|
258
|
+
type: :development
|
|
259
|
+
prerelease: false
|
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
261
|
+
requirements:
|
|
262
|
+
- - "<"
|
|
263
|
+
- !ruby/object:Gem::Version
|
|
264
|
+
version: '3.10'
|
|
237
265
|
description: 'A Neo4j OGM (Object-Graph-Mapper) for Ruby heavily inspired by ActiveRecord.
|
|
238
266
|
|
|
239
267
|
'
|
|
@@ -260,7 +288,6 @@ files:
|
|
|
260
288
|
- lib/active_graph/class_arguments.rb
|
|
261
289
|
- lib/active_graph/config.rb
|
|
262
290
|
- lib/active_graph/core.rb
|
|
263
|
-
- lib/active_graph/core/connection_failed_error.rb
|
|
264
291
|
- lib/active_graph/core/cypher_error.rb
|
|
265
292
|
- lib/active_graph/core/entity.rb
|
|
266
293
|
- lib/active_graph/core/instrumentable.rb
|
|
@@ -394,7 +421,7 @@ metadata:
|
|
|
394
421
|
changelog_uri: https://github.com/neo4jrb/activegraph/blob/master/CHANGELOG.md
|
|
395
422
|
source_code_uri: https://github.com/neo4jrb/activegraph/
|
|
396
423
|
bug_tracker_uri: https://github.com/neo4jrb/activegraph/issues
|
|
397
|
-
post_install_message:
|
|
424
|
+
post_install_message:
|
|
398
425
|
rdoc_options:
|
|
399
426
|
- "--quiet"
|
|
400
427
|
- "--title"
|
|
@@ -416,8 +443,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
416
443
|
- !ruby/object:Gem::Version
|
|
417
444
|
version: '0'
|
|
418
445
|
requirements: []
|
|
419
|
-
rubygems_version: 3.
|
|
420
|
-
signing_key:
|
|
446
|
+
rubygems_version: 3.2.22
|
|
447
|
+
signing_key:
|
|
421
448
|
specification_version: 4
|
|
422
449
|
summary: A graph database for Ruby
|
|
423
450
|
test_files: []
|