closure_tree 9.0.0 → 9.1.0
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 +7 -0
- data/closure_tree.gemspec +1 -0
- data/lib/closure_tree/has_closure_tree.rb +0 -2
- data/lib/closure_tree/support.rb +0 -7
- data/lib/closure_tree/version.rb +1 -1
- data/lib/closure_tree.rb +12 -40
- metadata +16 -6
- data/lib/closure_tree/adapter_support.rb +0 -11
- data/lib/closure_tree/configuration.rb +0 -11
- data/lib/generators/closure_tree/config_generator.rb +0 -14
- data/lib/generators/closure_tree/templates/config.rb +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f55c2391c1a377f24383abdebcd716868debd94f7c0d9070e7c6c98f20fca7c
|
4
|
+
data.tar.gz: fbdbae702b5bec7a40f310e16a6a4d3eeb1c30287765ca4261e908421ec5d20a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 265cd31b5c7f5c1f3b7e90a242fb8683145a4ec67ae6f8ff0c6ea30573138e2a2cbcd962262aa7e351ebf2dd8a3a19d86ddf204d27b6c4115ded0e8f7b2a9039
|
7
|
+
data.tar.gz: 67483089bc889a8a335279bfe8239dd8ca7c9cfe06dfc646ec6da71c27b092c91bdf1fd35f14cc7a11c8d1ea6e635478c64d243e7b1af6c9477399513828f7f5
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## [9.1.0](https://github.com/ClosureTree/closure_tree/compare/closure_tree/v9.0.0...closure_tree/v9.1.0) (2025-07-23)
|
4
|
+
|
5
|
+
|
6
|
+
### Features
|
7
|
+
|
8
|
+
* migrate from ActiveSupport::Autoload to Zeitwerk ([#457](https://github.com/ClosureTree/closure_tree/issues/457)) ([d18e80c](https://github.com/ClosureTree/closure_tree/commit/d18e80cdbd4f3510377363bc7b5166f0cc1b0a6f))
|
9
|
+
|
3
10
|
## [9.0.0](https://github.com/ClosureTree/closure_tree/compare/closure_tree-v8.0.0...closure_tree/v9.0.0) (2025-07-21)
|
4
11
|
|
5
12
|
|
data/closure_tree.gemspec
CHANGED
@@ -27,6 +27,7 @@ Gem::Specification.new do |gem|
|
|
27
27
|
|
28
28
|
gem.add_dependency 'activerecord', '>= 7.2.0'
|
29
29
|
gem.add_dependency 'with_advisory_lock', '>= 7.0.0'
|
30
|
+
gem.add_dependency 'zeitwerk', '~> 2.7'
|
30
31
|
|
31
32
|
gem.add_development_dependency 'database_cleaner'
|
32
33
|
gem.add_development_dependency 'minitest'
|
@@ -36,8 +36,6 @@ module ClosureTree
|
|
36
36
|
include ClosureTree::NumericDeterministicOrdering if _ct.order_is_numeric?
|
37
37
|
|
38
38
|
connection_pool.release_connection
|
39
|
-
rescue StandardError => e
|
40
|
-
raise e unless ClosureTree.configuration.database_less
|
41
39
|
end
|
42
40
|
|
43
41
|
alias acts_as_tree has_closure_tree
|
data/lib/closure_tree/support.rb
CHANGED
@@ -1,12 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'closure_tree/support_flags'
|
4
|
-
require 'closure_tree/support_attributes'
|
5
|
-
require 'closure_tree/numeric_order_support'
|
6
|
-
require 'closure_tree/active_record_support'
|
7
|
-
require 'closure_tree/hash_tree_support'
|
8
|
-
require 'closure_tree/arel_helpers'
|
9
|
-
|
10
3
|
# This class and mixins are an effort to reduce the namespace pollution to models that act_as_tree.
|
11
4
|
module ClosureTree
|
12
5
|
class Support
|
data/lib/closure_tree/version.rb
CHANGED
data/lib/closure_tree.rb
CHANGED
@@ -1,50 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'active_record'
|
4
|
+
require 'zeitwerk'
|
4
5
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
autoload :HasClosureTree
|
9
|
-
autoload :HasClosureTreeRoot
|
10
|
-
autoload :Support
|
11
|
-
autoload :HierarchyMaintenance
|
12
|
-
autoload :Model
|
13
|
-
autoload :Finders
|
14
|
-
autoload :HashTree
|
15
|
-
autoload :Digraphs
|
16
|
-
autoload :DeterministicOrdering
|
17
|
-
autoload :NumericDeterministicOrdering
|
18
|
-
autoload :Configuration
|
19
|
-
autoload :AdapterSupport
|
6
|
+
loader = Zeitwerk::Loader.for_gem
|
7
|
+
loader.ignore("#{__dir__}/generators")
|
8
|
+
loader.setup
|
20
9
|
|
10
|
+
module ClosureTree
|
21
11
|
def self.configure
|
22
|
-
|
12
|
+
ActiveSupport::Deprecation.new.warn(
|
13
|
+
'ClosureTree.configure is deprecated and will be removed in a future version. ' \
|
14
|
+
'Configuration is no longer needed.'
|
15
|
+
)
|
16
|
+
yield if block_given?
|
23
17
|
end
|
24
|
-
|
25
|
-
def self.configuration
|
26
|
-
@configuration ||= Configuration.new
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
ActiveSupport.on_load :active_record do
|
31
|
-
ActiveRecord::Base.extend ClosureTree::HasClosureTree
|
32
|
-
ActiveRecord::Base.extend ClosureTree::HasClosureTreeRoot
|
33
|
-
end
|
34
|
-
|
35
|
-
# Adapter injection for different database types
|
36
|
-
ActiveSupport.on_load :active_record_postgresqladapter do
|
37
|
-
prepend ClosureTree::AdapterSupport
|
38
|
-
end
|
39
|
-
|
40
|
-
ActiveSupport.on_load :active_record_mysql2adapter do
|
41
|
-
prepend ClosureTree::AdapterSupport
|
42
|
-
end
|
43
|
-
|
44
|
-
ActiveSupport.on_load :active_record_trilogyadapter do
|
45
|
-
prepend ClosureTree::AdapterSupport
|
46
18
|
end
|
47
19
|
|
48
|
-
ActiveSupport.on_load
|
49
|
-
|
20
|
+
ActiveSupport.on_load(:active_record) do
|
21
|
+
extend ClosureTree::HasClosureTree, ClosureTree::HasClosureTreeRoot
|
50
22
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: closure_tree
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.
|
4
|
+
version: 9.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 7.0.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: zeitwerk
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '2.7'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '2.7'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: database_cleaner
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,9 +151,7 @@ files:
|
|
137
151
|
- closure_tree.gemspec
|
138
152
|
- lib/closure_tree.rb
|
139
153
|
- lib/closure_tree/active_record_support.rb
|
140
|
-
- lib/closure_tree/adapter_support.rb
|
141
154
|
- lib/closure_tree/arel_helpers.rb
|
142
|
-
- lib/closure_tree/configuration.rb
|
143
155
|
- lib/closure_tree/deterministic_ordering.rb
|
144
156
|
- lib/closure_tree/digraphs.rb
|
145
157
|
- lib/closure_tree/finders.rb
|
@@ -156,9 +168,7 @@ files:
|
|
156
168
|
- lib/closure_tree/support_flags.rb
|
157
169
|
- lib/closure_tree/test/matcher.rb
|
158
170
|
- lib/closure_tree/version.rb
|
159
|
-
- lib/generators/closure_tree/config_generator.rb
|
160
171
|
- lib/generators/closure_tree/migration_generator.rb
|
161
|
-
- lib/generators/closure_tree/templates/config.rb
|
162
172
|
- lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb
|
163
173
|
homepage: https://github.com/ClosureTree/closure_tree/
|
164
174
|
licenses:
|
@@ -166,7 +176,7 @@ licenses:
|
|
166
176
|
metadata:
|
167
177
|
bug_tracker_uri: https://github.com/ClosureTree/closure_tree/issues
|
168
178
|
changelog_uri: https://github.com/ClosureTree/closure_tree/blob/master/CHANGELOG.md
|
169
|
-
documentation_uri: https://www.rubydoc.info/gems/closure_tree/9.
|
179
|
+
documentation_uri: https://www.rubydoc.info/gems/closure_tree/9.1.0
|
170
180
|
homepage_uri: https://closuretree.github.io/closure_tree/
|
171
181
|
source_code_uri: https://github.com/ClosureTree/closure_tree
|
172
182
|
rubygems_mfa_required: 'true'
|
@@ -1,11 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ClosureTree
|
4
|
-
module AdapterSupport
|
5
|
-
extend ActiveSupport::Concern
|
6
|
-
|
7
|
-
# This module is now only used to ensure the adapter has been loaded
|
8
|
-
# The actual advisory lock functionality is handled through the model's
|
9
|
-
# with_advisory_lock method from the with_advisory_lock gem
|
10
|
-
end
|
11
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ClosureTree
|
4
|
-
module Generators # :nodoc:
|
5
|
-
class ConfigGenerator < Rails::Generators::Base # :nodoc:
|
6
|
-
source_root File.expand_path('templates', __dir__)
|
7
|
-
desc 'Install closure tree config.'
|
8
|
-
|
9
|
-
def config
|
10
|
-
template 'config.rb', 'config/initializers/closure_tree_config.rb'
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|