activegraph 11.5.0.alpha.1 → 11.5.0.beta.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 +12 -1
- data/Gemfile +0 -4
- data/activegraph.gemspec +2 -3
- data/lib/active_graph/node/has_n.rb +5 -1
- data/lib/active_graph/node/query/query_proxy_methods_of_mass_updating.rb +1 -0
- data/lib/active_graph/railtie.rb +13 -0
- data/lib/active_graph/transactions.rb +4 -0
- data/lib/active_graph/version.rb +1 -1
- data/lib/active_graph.rb +2 -14
- data/lib/{active_graph/generators → rails/generators/active_graph/migration}/migration_generator.rb +5 -2
- data/lib/{active_graph/generators → rails/generators/active_graph/model}/model_generator.rb +5 -2
- data/lib/{active_graph/generators → rails/generators/active_graph/upgrade_v8}/upgrade_v8_generator.rb +5 -2
- data/lib/{active_graph → rails}/generators/migration_helper.rb +57 -0
- data/lib/{active_graph → rails}/generators/source_path_helper.rb +1 -1
- metadata +15 -31
- data/lib/active_graph/generators/active_model.rb +0 -33
- data/lib/active_graph/generators/generated_attribute.rb +0 -17
- /data/lib/{active_graph/generators → rails/generators/active_graph}/migration/templates/migration.erb +0 -0
- /data/lib/{active_graph/generators → rails/generators/active_graph}/model/templates/migration.erb +0 -0
- /data/lib/{active_graph/generators → rails/generators/active_graph}/model/templates/model.erb +0 -0
- /data/lib/{active_graph/generators → rails/generators/active_graph}/upgrade_v8/templates/migration.erb +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c217d68abf8f640ef01f10e2d7a5b96c6fe7b6f3c4499d24da58718a90646acc
|
4
|
+
data.tar.gz: d8bcda3316fd7cdc1422eb47b186f6eb7d853752d138f014e53a0e425c2f3e4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa79ae2d367a183fb0a5a26363f352d15767540288ae080558fc876854100ecf01815fb76be5460d1f638c3c1a8799a5b44f09e7ce5d0efc8faa8a74baf9c187
|
7
|
+
data.tar.gz: e39a318db8e56067cffbd7ba216d3951184124cb36b48da420334475472d63d17bff7d70027d4d7a9e495d7cb4cb7d4dd8b27b9a4c3bf44e265b24503802b2fd
|
data/CHANGELOG.md
CHANGED
@@ -3,10 +3,21 @@ 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
|
-
## [11.
|
6
|
+
## [11.5.0.beta.1] 2023-12-29
|
7
|
+
|
8
|
+
## Added
|
9
|
+
|
10
|
+
- migrated to zeitwerk
|
11
|
+
- rails 7.1 support
|
7
12
|
|
8
13
|
## Fixed
|
9
14
|
|
15
|
+
- caching of has one relationships
|
16
|
+
|
17
|
+
## [11.4.0] 2023-12-02
|
18
|
+
|
19
|
+
## Added
|
20
|
+
|
10
21
|
- Added support for cypher UNION
|
11
22
|
|
12
23
|
## [11.3.1] 2023-02-12
|
data/Gemfile
CHANGED
@@ -2,10 +2,6 @@ source 'http://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
# gem 'neo4j-ruby-driver', path: '../neo4j-ruby-driver'
|
6
|
-
|
7
|
-
# gem 'listen', '< 3.1'
|
8
|
-
|
9
5
|
active_model_version = ENV['ACTIVE_MODEL_VERSION']
|
10
6
|
gem 'activemodel', "~> #{active_model_version}" if active_model_version&.length&.positive?
|
11
7
|
|
data/activegraph.gemspec
CHANGED
@@ -30,8 +30,7 @@ DESCRIPTION
|
|
30
30
|
'bug_tracker_uri' => 'https://github.com/neo4jrb/activegraph/issues'
|
31
31
|
}
|
32
32
|
|
33
|
-
s.add_dependency('activemodel', '>=
|
34
|
-
s.add_dependency('activesupport', '>= 4.0')
|
33
|
+
s.add_dependency('activemodel', '>= 7')
|
35
34
|
s.add_dependency('i18n', '!= 1.8.8') # https://github.com/jruby/jruby/issues/6547
|
36
35
|
s.add_dependency('neo4j-ruby-driver', '>= 4.4.1', '< 5')
|
37
36
|
s.add_dependency('orm_adapter', '>= 0.5.0')
|
@@ -42,7 +41,7 @@ DESCRIPTION
|
|
42
41
|
s.add_development_dependency('neo4j-rake_tasks', '>= 0.3.0')
|
43
42
|
s.add_development_dependency('os')
|
44
43
|
s.add_development_dependency('pry')
|
45
|
-
s.add_development_dependency('railties', '>=
|
44
|
+
s.add_development_dependency('railties', '>= 7')
|
46
45
|
s.add_development_dependency('rake')
|
47
46
|
s.add_development_dependency('rubocop', '>= 0.56.0')
|
48
47
|
s.add_development_dependency('yard')
|
@@ -111,13 +111,17 @@ module ActiveGraph::Node
|
|
111
111
|
|
112
112
|
def add_to_cache(object, rel = nil)
|
113
113
|
(@cached_rels ||= []) << rel if rel
|
114
|
-
(@cached_result ||= []).tap { |results| results << object if
|
114
|
+
(@cached_result ||= []).tap { |results| results << object if !results.include?(object) } if object
|
115
115
|
end
|
116
116
|
|
117
117
|
def rels
|
118
118
|
@cached_rels || super.tap { |rels| rels.each { |rel| add_to_cache(nil, rel) } }
|
119
119
|
end
|
120
120
|
|
121
|
+
def rel
|
122
|
+
rels.first
|
123
|
+
end
|
124
|
+
|
121
125
|
def cache_query_proxy_result
|
122
126
|
(result_cache_proc_cache || @query_proxy).to_a.tap { |result| cache_result(result) }
|
123
127
|
end
|
@@ -51,6 +51,7 @@ module ActiveGraph
|
|
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
|
+
ActiveGraph::Base.lock_node(start_object) unless start_object.new_record?
|
54
55
|
delete_rels_for_nodes(original_ids, node_or_nodes.collect(&:id))
|
55
56
|
add_rels(node_or_nodes, original_ids)
|
56
57
|
end
|
data/lib/active_graph/railtie.rb
CHANGED
@@ -1,3 +1,16 @@
|
|
1
|
+
require 'active_graph'
|
2
|
+
|
3
|
+
if defined?(Rails)
|
4
|
+
# Need the action_dispatch railtie to have action_dispatch.rescue_responses initialized correctly
|
5
|
+
require 'action_dispatch/railtie'
|
6
|
+
require 'rails/generators'
|
7
|
+
require 'rails/generators/active_model'
|
8
|
+
require 'rails/generators/named_base'
|
9
|
+
require 'rails/railtie'
|
10
|
+
require File.expand_path('../rails/generators/migration_helper.rb', __dir__)
|
11
|
+
Rails::Generators::GeneratedAttribute.include ActiveGraph::Generators::GeneratedAttribute
|
12
|
+
end
|
13
|
+
|
1
14
|
module ActiveGraph
|
2
15
|
class Railtie < ::Rails::Railtie
|
3
16
|
def empty_config
|
data/lib/active_graph/version.rb
CHANGED
data/lib/active_graph.rb
CHANGED
@@ -22,20 +22,9 @@ require 'set'
|
|
22
22
|
require 'sorted_set'
|
23
23
|
require 'yaml'
|
24
24
|
|
25
|
-
if defined?(Rails)
|
26
|
-
# Need the action_dispatch railtie to have action_dispatch.rescue_responses initialized correctly
|
27
|
-
require 'action_dispatch/railtie'
|
28
|
-
require 'rails/generators'
|
29
|
-
require 'rails/generators/active_model'
|
30
|
-
require 'rails/generators/named_base'
|
31
|
-
require 'rails/railtie'
|
32
|
-
end
|
33
|
-
|
34
25
|
loader = Zeitwerk::Loader.for_gem
|
35
|
-
|
36
|
-
|
37
|
-
loader.ignore(File.expand_path('active_graph/railtie.rb', __dir__))
|
38
|
-
end
|
26
|
+
loader.ignore(File.expand_path('rails', __dir__))
|
27
|
+
loader.ignore(File.expand_path('active_graph/railtie.rb', __dir__))
|
39
28
|
loader.inflector.inflect("ansi" => "ANSI")
|
40
29
|
loader.setup
|
41
30
|
# loader.eager_load
|
@@ -49,6 +38,5 @@ Neo4j::Driver::Types::Node.prepend ActiveGraph::Core::Node
|
|
49
38
|
Neo4j::Driver::Types::Node.wrapper_callback(&ActiveGraph::Node::Wrapping.method(:wrapper))
|
50
39
|
Neo4j::Driver::Types::Relationship.wrapper_callback(&ActiveGraph::Relationship::Wrapping.method(:wrapper))
|
51
40
|
SecureRandom.singleton_class.prepend ActiveGraph::SecureRandomExt
|
52
|
-
Rails::Generators::GeneratedAttribute.include ActiveGraph::Generators::GeneratedAttribute if defined?(Rails)
|
53
41
|
|
54
42
|
load 'active_graph/tasks/migration.rake'
|
data/lib/{active_graph/generators → rails/generators/active_graph/migration}/migration_generator.rb
RENAMED
@@ -1,8 +1,11 @@
|
|
1
|
+
require_relative '../../migration_helper'
|
2
|
+
require_relative '../../source_path_helper'
|
3
|
+
|
1
4
|
module ActiveGraph
|
2
5
|
module Generators
|
3
6
|
class MigrationGenerator < ::Rails::Generators::NamedBase
|
4
|
-
include
|
5
|
-
include
|
7
|
+
include ActiveGraph::Generators::SourcePathHelper
|
8
|
+
include ActiveGraph::Generators::MigrationHelper
|
6
9
|
|
7
10
|
def create_migration_file
|
8
11
|
migration_template 'migration.erb'
|
@@ -1,6 +1,9 @@
|
|
1
|
+
require_relative '../../migration_helper'
|
2
|
+
require_relative '../../source_path_helper'
|
3
|
+
|
1
4
|
class ActiveGraph::Generators::ModelGenerator < Rails::Generators::NamedBase #:nodoc:
|
2
|
-
include
|
3
|
-
include
|
5
|
+
include ActiveGraph::Generators::SourcePathHelper
|
6
|
+
include ActiveGraph::Generators::MigrationHelper
|
4
7
|
|
5
8
|
argument :attributes, type: :array, default: [], banner: 'field:type field:type'
|
6
9
|
|
@@ -1,8 +1,11 @@
|
|
1
|
+
require_relative '../../migration_helper'
|
2
|
+
require_relative '../../source_path_helper'
|
3
|
+
|
1
4
|
module ActiveGraph
|
2
5
|
module Generators
|
3
6
|
class UpgradeV8Generator < ::Rails::Generators::Base
|
4
|
-
include
|
5
|
-
include
|
7
|
+
include ActiveGraph::Generators::SourcePathHelper
|
8
|
+
include ActiveGraph::Generators::MigrationHelper
|
6
9
|
|
7
10
|
def create_upgrade_v8_file
|
8
11
|
@schema = load_all_models_schema!
|
@@ -1,3 +1,8 @@
|
|
1
|
+
module ActiveGraph
|
2
|
+
module Generators #:nodoc:
|
3
|
+
end
|
4
|
+
end
|
5
|
+
|
1
6
|
module ActiveGraph::Generators::MigrationHelper
|
2
7
|
extend ActiveSupport::Concern
|
3
8
|
|
@@ -44,3 +49,55 @@ module ActiveGraph::Generators::MigrationHelper
|
|
44
49
|
FileUtils.rm(real_file_name) if @behavior == :revoke
|
45
50
|
end
|
46
51
|
end
|
52
|
+
|
53
|
+
class ActiveGraph::Generators::ActiveModel < Rails::Generators::ActiveModel #:nodoc:
|
54
|
+
def self.all(klass)
|
55
|
+
"#{klass}.all"
|
56
|
+
end
|
57
|
+
|
58
|
+
def self.find(klass, params = nil)
|
59
|
+
"#{klass}.find(#{params})"
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.build(klass, params = nil)
|
63
|
+
if params
|
64
|
+
"#{klass}.new(#{params})"
|
65
|
+
else
|
66
|
+
"#{klass}.new"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def save
|
71
|
+
"#{name}.save"
|
72
|
+
end
|
73
|
+
|
74
|
+
def update_attributes(params = nil)
|
75
|
+
"#{name}.update_attributes(#{params})"
|
76
|
+
end
|
77
|
+
|
78
|
+
def errors
|
79
|
+
"#{name}.errors"
|
80
|
+
end
|
81
|
+
|
82
|
+
def destroy
|
83
|
+
"#{name}.destroy"
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
module ActiveGraph
|
88
|
+
module Generators
|
89
|
+
module GeneratedAttribute #:nodoc:
|
90
|
+
def type_class
|
91
|
+
case type.to_s.downcase
|
92
|
+
when 'any' then 'any'
|
93
|
+
when 'datetime' then 'DateTime'
|
94
|
+
when 'date' then 'Date'
|
95
|
+
when 'integer', 'number', 'fixnum' then 'Integer'
|
96
|
+
when 'float' then 'Float'
|
97
|
+
else
|
98
|
+
'String'
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
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: 11.5.0.
|
4
|
+
version: 11.5.0.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Ronge, Brian Underwood, Chris Grigg, Heinrich Klobuczek
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -16,28 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '7'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: activesupport
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '4.0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '4.0'
|
26
|
+
version: '7'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: i18n
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -190,14 +176,14 @@ dependencies:
|
|
190
176
|
requirements:
|
191
177
|
- - ">="
|
192
178
|
- !ruby/object:Gem::Version
|
193
|
-
version: '
|
179
|
+
version: '7'
|
194
180
|
type: :development
|
195
181
|
prerelease: false
|
196
182
|
version_requirements: !ruby/object:Gem::Requirement
|
197
183
|
requirements:
|
198
184
|
- - ">="
|
199
185
|
- !ruby/object:Gem::Version
|
200
|
-
version: '
|
186
|
+
version: '7'
|
201
187
|
- !ruby/object:Gem::Dependency
|
202
188
|
name: rake
|
203
189
|
requirement: !ruby/object:Gem::Requirement
|
@@ -311,17 +297,6 @@ files:
|
|
311
297
|
- lib/active_graph/core/schema_errors.rb
|
312
298
|
- lib/active_graph/core/wrappable.rb
|
313
299
|
- lib/active_graph/error.rb
|
314
|
-
- lib/active_graph/generators/active_model.rb
|
315
|
-
- lib/active_graph/generators/generated_attribute.rb
|
316
|
-
- lib/active_graph/generators/migration/templates/migration.erb
|
317
|
-
- lib/active_graph/generators/migration_generator.rb
|
318
|
-
- lib/active_graph/generators/migration_helper.rb
|
319
|
-
- lib/active_graph/generators/model/templates/migration.erb
|
320
|
-
- lib/active_graph/generators/model/templates/model.erb
|
321
|
-
- lib/active_graph/generators/model_generator.rb
|
322
|
-
- lib/active_graph/generators/source_path_helper.rb
|
323
|
-
- lib/active_graph/generators/upgrade_v8/templates/migration.erb
|
324
|
-
- lib/active_graph/generators/upgrade_v8_generator.rb
|
325
300
|
- lib/active_graph/lazy_attribute_hash.rb
|
326
301
|
- lib/active_graph/migration.rb
|
327
302
|
- lib/active_graph/migrations.rb
|
@@ -423,6 +398,15 @@ files:
|
|
423
398
|
- lib/active_graph/type_converters.rb
|
424
399
|
- lib/active_graph/undeclared_properties.rb
|
425
400
|
- lib/active_graph/version.rb
|
401
|
+
- lib/rails/generators/active_graph/migration/migration_generator.rb
|
402
|
+
- lib/rails/generators/active_graph/migration/templates/migration.erb
|
403
|
+
- lib/rails/generators/active_graph/model/model_generator.rb
|
404
|
+
- lib/rails/generators/active_graph/model/templates/migration.erb
|
405
|
+
- lib/rails/generators/active_graph/model/templates/model.erb
|
406
|
+
- lib/rails/generators/active_graph/upgrade_v8/templates/migration.erb
|
407
|
+
- lib/rails/generators/active_graph/upgrade_v8/upgrade_v8_generator.rb
|
408
|
+
- lib/rails/generators/migration_helper.rb
|
409
|
+
- lib/rails/generators/source_path_helper.rb
|
426
410
|
homepage: https://github.com/neo4jrb/activegraph/
|
427
411
|
licenses:
|
428
412
|
- MIT
|
@@ -1,33 +0,0 @@
|
|
1
|
-
class ActiveGraph::Generators::ActiveModel < Rails::Generators::ActiveModel #:nodoc:
|
2
|
-
def self.all(klass)
|
3
|
-
"#{klass}.all"
|
4
|
-
end
|
5
|
-
|
6
|
-
def self.find(klass, params = nil)
|
7
|
-
"#{klass}.find(#{params})"
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.build(klass, params = nil)
|
11
|
-
if params
|
12
|
-
"#{klass}.new(#{params})"
|
13
|
-
else
|
14
|
-
"#{klass}.new"
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
def save
|
19
|
-
"#{name}.save"
|
20
|
-
end
|
21
|
-
|
22
|
-
def update_attributes(params = nil)
|
23
|
-
"#{name}.update_attributes(#{params})"
|
24
|
-
end
|
25
|
-
|
26
|
-
def errors
|
27
|
-
"#{name}.errors"
|
28
|
-
end
|
29
|
-
|
30
|
-
def destroy
|
31
|
-
"#{name}.destroy"
|
32
|
-
end
|
33
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
module ActiveGraph
|
2
|
-
module Generators
|
3
|
-
module GeneratedAttribute #:nodoc:
|
4
|
-
def type_class
|
5
|
-
case type.to_s.downcase
|
6
|
-
when 'any' then 'any'
|
7
|
-
when 'datetime' then 'DateTime'
|
8
|
-
when 'date' then 'Date'
|
9
|
-
when 'integer', 'number', 'fixnum' then 'Integer'
|
10
|
-
when 'float' then 'Float'
|
11
|
-
else
|
12
|
-
'String'
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
File without changes
|
/data/lib/{active_graph/generators → rails/generators/active_graph}/model/templates/migration.erb
RENAMED
File without changes
|
/data/lib/{active_graph/generators → rails/generators/active_graph}/model/templates/model.erb
RENAMED
File without changes
|
File without changes
|