closure_tree 6.5.0 → 7.4.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 +5 -5
- data/.github/workflows/ci.yml +98 -0
- data/.gitignore +2 -0
- data/.rspec +1 -1
- data/Appraisals +90 -7
- data/CHANGELOG.md +100 -42
- data/Gemfile +3 -11
- data/README.md +68 -24
- data/Rakefile +16 -10
- data/_config.yml +1 -0
- data/bin/appraisal +29 -0
- data/bin/rake +29 -0
- data/bin/rspec +29 -0
- data/closure_tree.gemspec +16 -9
- data/lib/closure_tree/finders.rb +32 -9
- data/lib/closure_tree/has_closure_tree.rb +4 -0
- data/lib/closure_tree/has_closure_tree_root.rb +5 -7
- data/lib/closure_tree/hash_tree_support.rb +4 -4
- data/lib/closure_tree/hierarchy_maintenance.rb +28 -8
- data/lib/closure_tree/model.rb +42 -16
- data/lib/closure_tree/numeric_deterministic_ordering.rb +20 -6
- data/lib/closure_tree/numeric_order_support.rb +7 -3
- data/lib/closure_tree/support.rb +18 -12
- data/lib/closure_tree/support_attributes.rb +10 -1
- data/lib/closure_tree/support_flags.rb +1 -4
- data/lib/closure_tree/version.rb +1 -1
- data/lib/generators/closure_tree/migration_generator.rb +8 -0
- data/lib/generators/closure_tree/templates/create_hierarchies_table.rb.erb +1 -1
- metadata +78 -79
- data/.travis.yml +0 -29
- data/gemfiles/activerecord_4.2.gemfile +0 -19
- data/gemfiles/activerecord_5.0.gemfile +0 -19
- data/gemfiles/activerecord_5.0_foreigner.gemfile +0 -20
- data/gemfiles/activerecord_edge.gemfile +0 -20
- data/img/example.png +0 -0
- data/img/preorder.png +0 -0
- data/spec/cache_invalidation_spec.rb +0 -39
- data/spec/cuisine_type_spec.rb +0 -38
- data/spec/db/database.yml +0 -21
- data/spec/db/models.rb +0 -128
- data/spec/db/schema.rb +0 -166
- data/spec/fixtures/tags.yml +0 -98
- data/spec/generators/migration_generator_spec.rb +0 -48
- data/spec/has_closure_tree_root_spec.rb +0 -154
- data/spec/hierarchy_maintenance_spec.rb +0 -16
- data/spec/label_spec.rb +0 -554
- data/spec/matcher_spec.rb +0 -34
- data/spec/metal_spec.rb +0 -55
- data/spec/model_spec.rb +0 -9
- data/spec/namespace_type_spec.rb +0 -13
- data/spec/parallel_spec.rb +0 -159
- data/spec/spec_helper.rb +0 -24
- data/spec/support/database.rb +0 -52
- data/spec/support/database_cleaner.rb +0 -14
- data/spec/support/exceed_query_limit.rb +0 -18
- data/spec/support/hash_monkey_patch.rb +0 -13
- data/spec/support/query_counter.rb +0 -18
- data/spec/support/sqlite3_with_advisory_lock.rb +0 -10
- data/spec/support_spec.rb +0 -14
- data/spec/tag_examples.rb +0 -665
- data/spec/tag_spec.rb +0 -6
- data/spec/user_spec.rb +0 -174
- data/spec/uuid_tag_spec.rb +0 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: e4ac0bb16bca6ba730b542b35639b067ad113e2c7010265cae6e0192425e1b82
|
4
|
+
data.tar.gz: 03004e7033f76268a1e96b3ee4a0c5d9066a4c716caab80c6082ddb60404b598
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5eac3ad625f051cc1e5fa62165076119d1cda689b619aeb6e83c9a32bbd33f343817c867cfd97abc26d32c56346eb833d39e747ec1d60ae9abf018e79a762442
|
7
|
+
data.tar.gz: 6f01c8b3b6ef3382340d0743a87e34243e9283bb64d3cefec1a79a7fb23c670f8da02e0125f7497e8afa834077aa75c60830988f14b2c7e095a6f7fe3ac8e02b
|
@@ -0,0 +1,98 @@
|
|
1
|
+
---
|
2
|
+
name: CI
|
3
|
+
|
4
|
+
on:
|
5
|
+
- push
|
6
|
+
- pull_request
|
7
|
+
|
8
|
+
jobs:
|
9
|
+
rspec:
|
10
|
+
runs-on: ubuntu-20.04
|
11
|
+
|
12
|
+
services:
|
13
|
+
postgres:
|
14
|
+
image: 'postgres:13'
|
15
|
+
ports: ['5432:5432']
|
16
|
+
env:
|
17
|
+
POSTGRES_PASSWORD: postgres
|
18
|
+
POSTGRES_DB: closure_tree
|
19
|
+
options: >-
|
20
|
+
--health-cmd pg_isready
|
21
|
+
--health-interval 10s
|
22
|
+
--health-timeout 5s
|
23
|
+
--health-retries 5
|
24
|
+
|
25
|
+
strategy:
|
26
|
+
fail-fast: false
|
27
|
+
matrix:
|
28
|
+
ruby:
|
29
|
+
- '3.0'
|
30
|
+
- '2.7'
|
31
|
+
- '2.6'
|
32
|
+
- '2.5'
|
33
|
+
rails:
|
34
|
+
- activerecord_6.1
|
35
|
+
- activerecord_6.0
|
36
|
+
- activerecord_5.2
|
37
|
+
- activerecord_5.1
|
38
|
+
- activerecord_5.0
|
39
|
+
- activerecord_4.2
|
40
|
+
- activerecord_edge
|
41
|
+
adapter:
|
42
|
+
- sqlite3
|
43
|
+
- mysql2
|
44
|
+
- postgresql
|
45
|
+
exclude:
|
46
|
+
- ruby: '2.7'
|
47
|
+
rails: activerecord_4.2
|
48
|
+
- ruby: '3.0'
|
49
|
+
rails: activerecord_4.2
|
50
|
+
- ruby: '3.0'
|
51
|
+
rails: activerecord_5.0
|
52
|
+
- ruby: '3.0'
|
53
|
+
rails: activerecord_5.1
|
54
|
+
- ruby: '3.0'
|
55
|
+
rails: activerecord_5.2
|
56
|
+
- ruby: '2.5'
|
57
|
+
rails: activerecord_edge
|
58
|
+
- ruby: '2.6'
|
59
|
+
rails: activerecord_edge
|
60
|
+
|
61
|
+
steps:
|
62
|
+
- name: Checkout
|
63
|
+
uses: actions/checkout@v2
|
64
|
+
|
65
|
+
- name: Setup Ruby
|
66
|
+
uses: ruby/setup-ruby@v1
|
67
|
+
with:
|
68
|
+
ruby-version: ${{ matrix.ruby }}
|
69
|
+
|
70
|
+
- name: Set DB Adapter
|
71
|
+
env:
|
72
|
+
RAILS_VERSION: ${{ matrix.rails }}
|
73
|
+
DB_ADAPTER: ${{ matrix.adapter }}
|
74
|
+
|
75
|
+
# See: https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-README.md#mysql
|
76
|
+
run: |
|
77
|
+
if [ "${DB_ADAPTER}" = "mysql2" ]; then
|
78
|
+
sudo systemctl start mysql.service
|
79
|
+
mysql -u root -proot -e 'create database closure_tree;'
|
80
|
+
fi
|
81
|
+
|
82
|
+
- name: Bundle
|
83
|
+
env:
|
84
|
+
RAILS_VERSION: ${{ matrix.rails }}
|
85
|
+
DB_ADAPTER: ${{ matrix.adapter }}
|
86
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
|
87
|
+
run: |
|
88
|
+
gem install bundler
|
89
|
+
bundle config path vendor/bundle
|
90
|
+
bundle install --jobs 4 --retry 3
|
91
|
+
|
92
|
+
- name: RSpec
|
93
|
+
env:
|
94
|
+
RAILS_VERSION: ${{ matrix.rails }}
|
95
|
+
DB_ADAPTER: ${{ matrix.adapter }}
|
96
|
+
BUNDLE_GEMFILE: gemfiles/${{ matrix.rails }}.gemfile
|
97
|
+
WITH_ADVISORY_LOCK_PREFIX: ${{ github.run_id }}
|
98
|
+
run: bin/rake --trace spec:all
|
data/.gitignore
CHANGED
data/.rspec
CHANGED
@@ -1 +1 @@
|
|
1
|
-
--
|
1
|
+
--color
|
data/Appraisals
CHANGED
@@ -1,22 +1,105 @@
|
|
1
1
|
|
2
2
|
appraise 'activerecord-4.2' do
|
3
3
|
gem 'activerecord', '~> 4.2.0'
|
4
|
+
platforms :ruby do
|
5
|
+
gem 'mysql2', "< 0.5"
|
6
|
+
gem 'pg', "~> 0.21"
|
7
|
+
gem 'sqlite3', '~> 1.3.13'
|
8
|
+
end
|
4
9
|
|
5
|
-
platforms :
|
6
|
-
gem '
|
10
|
+
platforms :jruby do
|
11
|
+
gem 'activerecord-jdbcmysql-adapter'
|
12
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
13
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
7
14
|
end
|
8
15
|
end
|
9
16
|
|
10
|
-
appraise 'activerecord-5.0
|
17
|
+
appraise 'activerecord-5.0' do
|
11
18
|
gem 'activerecord', '~> 5.0.0'
|
12
|
-
|
19
|
+
platforms :ruby do
|
20
|
+
gem 'mysql2'
|
21
|
+
gem 'pg'
|
22
|
+
gem 'sqlite3', '~> 1.3.13'
|
23
|
+
end
|
24
|
+
|
25
|
+
platforms :jruby do
|
26
|
+
gem 'activerecord-jdbcmysql-adapter'
|
27
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
28
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
29
|
+
end
|
13
30
|
end
|
14
31
|
|
15
|
-
appraise 'activerecord-5.
|
16
|
-
gem 'activerecord', '~> 5.
|
32
|
+
appraise 'activerecord-5.1' do
|
33
|
+
gem 'activerecord', '~> 5.1.0'
|
34
|
+
platforms :ruby do
|
35
|
+
gem 'mysql2'
|
36
|
+
gem 'pg'
|
37
|
+
gem 'sqlite3', '~> 1.3.13'
|
38
|
+
end
|
39
|
+
|
40
|
+
platforms :jruby do
|
41
|
+
gem 'activerecord-jdbcmysql-adapter'
|
42
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
43
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
appraise 'activerecord-5.2' do
|
48
|
+
gem 'activerecord', '~> 5.2.0'
|
49
|
+
platforms :ruby do
|
50
|
+
gem 'mysql2'
|
51
|
+
gem 'pg'
|
52
|
+
gem 'sqlite3'
|
53
|
+
end
|
54
|
+
|
55
|
+
platforms :jruby do
|
56
|
+
gem 'activerecord-jdbcmysql-adapter'
|
57
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
58
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
appraise 'activerecord-6.0' do
|
63
|
+
gem 'activerecord', '~> 6.0.0'
|
64
|
+
platforms :ruby do
|
65
|
+
gem 'mysql2'
|
66
|
+
gem 'pg'
|
67
|
+
gem 'sqlite3'
|
68
|
+
end
|
69
|
+
|
70
|
+
platforms :jruby do
|
71
|
+
gem 'activerecord-jdbcmysql-adapter'
|
72
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
73
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
appraise 'activerecord-6.1' do
|
78
|
+
gem 'activerecord', '~> 6.1.0'
|
79
|
+
platforms :ruby do
|
80
|
+
gem 'mysql2'
|
81
|
+
gem 'pg'
|
82
|
+
gem 'sqlite3'
|
83
|
+
end
|
84
|
+
|
85
|
+
platforms :jruby do
|
86
|
+
gem 'activerecord-jdbcmysql-adapter'
|
87
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
88
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
89
|
+
end
|
17
90
|
end
|
18
91
|
|
19
92
|
appraise 'activerecord-edge' do
|
20
93
|
gem 'activerecord', github: 'rails/rails'
|
21
|
-
|
94
|
+
platforms :ruby do
|
95
|
+
gem 'mysql2'
|
96
|
+
gem 'pg'
|
97
|
+
gem 'sqlite3'
|
98
|
+
end
|
99
|
+
|
100
|
+
platforms :jruby do
|
101
|
+
gem 'activerecord-jdbcmysql-adapter'
|
102
|
+
gem 'activerecord-jdbcpostgresql-adapter'
|
103
|
+
gem 'activerecord-jdbcsqlite3-adapter'
|
104
|
+
end
|
22
105
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,27 +1,85 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## [7.4.0](https://github.com/ClosureTree/closure_tree/tree/7.4.0)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/ClosureTree/closure_tree/compare/v7.3.0...7.4.0)
|
6
|
+
|
7
|
+
- fix: hierarchy model with namespace should inherit from the superclass of basic model [\#384](https://github.com/ClosureTree/closure_tree/pull/384) ([shawndodo](https://github.com/shawndodo))
|
8
|
+
- Add with\_descendant to readme [\#381](https://github.com/ClosureTree/closure_tree/pull/381) ([mattvague](https://github.com/mattvague))
|
9
|
+
|
10
|
+
### 7.3.0
|
11
|
+
- Ruby 3.0 support
|
12
|
+
|
13
|
+
### 7.2.0
|
14
|
+
- Ruby 2.7 support
|
15
|
+
- Ordering raw SQL argument wrapped with Arel.sql
|
16
|
+
|
17
|
+
### 7.1.0
|
18
|
+
Closure Tree is now tested against Rails 6.0
|
19
|
+
- Directly require core_ext for String#strip_heredoc[PR 350](https://github.com/ClosureTree/closure_tree/pull/350)
|
20
|
+
- Call Module#module_parent instead of deprecated #parent[PR 354](https://github.com/ClosureTree/closure_tree/pull/354)
|
21
|
+
|
22
|
+
### 7.0.0
|
23
|
+
Closure Tree is now tested against Rails 5.2
|
24
|
+
|
25
|
+
- Postpone configuration (database introspection)[PR 264](https://github.com/ClosureTree/closure_tree/pull/264)
|
26
|
+
- Fix "tree.find_by_path([])" [PR 288](https://github.com/ClosureTree/closure_tree/pull/288)
|
27
|
+
- Fixed generator specs and added migration version [PR 292](https://github.com/ClosureTree/closure_tree/pull/292)
|
28
|
+
- Eliminate deprecation warnings in ActiveRecord 5.2 [PR 296](https://github.com/ClosureTree/closure_tree/pull/296)
|
29
|
+
- When using 'oracle_enhanced', remove 'AS' on the table_name alias. [PR 298](https://github.com/ClosureTree/closure_tree/pull/298)
|
30
|
+
- README update [PR 301](https://github.com/ClosureTree/closure_tree/pull/301)
|
31
|
+
- Add `with_descendant` finder [PR 302](https://github.com/ClosureTree/closure_tree/pull/302)
|
32
|
+
- Fix pg version for rails prior 5.1 [PR 303](https://github.com/ClosureTree/closure_tree/pull/303)
|
33
|
+
- Test on Rails 5.2 & fix mysql for older Rails [PR 304](https://github.com/ClosureTree/closure_tree/pull/304)
|
34
|
+
- Test with ActiveRecord 5.2.0 [PR 307](https://github.com/ClosureTree/closure_tree/pull/307)
|
35
|
+
- README update [PR 310](https://github.com/ClosureTree/closure_tree/pull/310)
|
36
|
+
- FactoryBot linter failing for a model that uses closure_tree [PR 311](https://github.com/ClosureTree/closure_tree/pull/311)
|
37
|
+
- Added dont_order_roots option [PR 312](https://github.com/ClosureTree/closure_tree/pull/312)
|
38
|
+
- Added instance methods to determine the relationship between 2 nodes [PR 314](https://github.com/ClosureTree/closure_tree/pull/314)
|
39
|
+
- Add an instance method to check the relationship between 2 nodes: #family_of? [PR 319](https://github.com/ClosureTree/closure_tree/pull/319)
|
40
|
+
- Remove options restrictions on has_closure_tree_root [PR 321](https://github.com/ClosureTree/closure_tree/pull/321)
|
41
|
+
- Fix uninitialized variable warnings [PR 323](https://github.com/ClosureTree/closure_tree/pull/323)
|
42
|
+
|
43
|
+
### 6.6.0
|
44
|
+
|
45
|
+
Closure Tree is now tested against Rails 5.1, and just passed 50 contributors and
|
46
|
+
1000 stars on github! 🎉!
|
47
|
+
|
48
|
+
Note that Closure Tree has moved to a new "Closure Tree" github organization.
|
49
|
+
**Future gem releases will be done by other contributors.**
|
50
|
+
|
51
|
+
* ActiveSupport 5.1 deprecation warnings were addressed in [PR
|
52
|
+
262](https://github.com/ClosureTree/closure_tree/pull/262). Thanks, [Charles
|
53
|
+
Pence](https://github.com/cpence)!
|
54
|
+
* ActiveSupport 5.1 test failures were fixed in
|
55
|
+
[PR 280](https://github.com/ClosureTree/closure_tree/pull/280).
|
56
|
+
Thanks, [Bobby Uhlenbrock](https://github.com/uhlenbrock)!
|
57
|
+
* A database connection was leaked at startup, fixed in [PR
|
58
|
+
263](https://github.com/ClosureTree/closure_tree/pull/263). Thanks, [Andrey
|
59
|
+
Novikov](https://github.com/Envek)!
|
4
60
|
|
5
|
-
|
6
|
-
Thanks, [Nikolay Bekirov](https://github.com/nbekirov)!
|
61
|
+
### 6.5.0
|
7
62
|
|
63
|
+
* Merged [PR 258](https://github.com/ClosureTree/closure_tree/pull/258) which
|
64
|
+
improves hierarchy maintenance with large trees. Thanks, [Nikolay
|
65
|
+
Bekirov](https://github.com/nbekirov)!
|
8
66
|
### 6.4.0
|
9
67
|
|
10
|
-
* Merged [PR 236](https://github.com/
|
68
|
+
* Merged [PR 236](https://github.com/ClosureTree/closure_tree/pull/236) which adds documentation for `has_closure_tree_root`.
|
11
69
|
* Added ruby 2.4 and dropped Rails 4.1 from the build matrix.
|
12
70
|
|
13
71
|
### 6.3.0
|
14
72
|
|
15
|
-
* `prepend_child` [handles invalid children properly now](https://github.com/
|
73
|
+
* `prepend_child` [handles invalid children properly now](https://github.com/ClosureTree/closure_tree/issues/249).
|
16
74
|
Thanks [Amit Saxena](https://github.com/amitsaxena)!
|
17
75
|
* Dropped official support for jruby and ruby 2.0 (no code was changed)
|
18
76
|
|
19
77
|
### 6.2.0
|
20
78
|
|
21
|
-
* Fix for [MySQL lock lengths](https://github.com/
|
79
|
+
* Fix for [MySQL lock lengths](https://github.com/ClosureTree/closure_tree/issues/231).
|
22
80
|
Thanks to [Liam](https://github.com/hut8)!
|
23
|
-
* [Tom Smyth](https://github.com/hooverlunch) added [eager tree loading](https://github.com/
|
24
|
-
* Merged [PR 200](https://github.com/
|
81
|
+
* [Tom Smyth](https://github.com/hooverlunch) added [eager tree loading](https://github.com/ClosureTree/closure_tree/pull/232)
|
82
|
+
* Merged [PR 200](https://github.com/ClosureTree/closure_tree/pull/200) which may or may not add support to SQLServer 2008 (but this is not a supported RDBMS).
|
25
83
|
|
26
84
|
### 6.1.0
|
27
85
|
|
@@ -45,7 +103,7 @@
|
|
45
103
|
* Dropped support for versions of Rails 3.2 and 4.0 (which are no longer supported).
|
46
104
|
* Dropped support for Ruby 1.9 and JRuby 1.9 (which are no longer supported).
|
47
105
|
* Added support for `.hash_tree` from `.parent` and `.children`.
|
48
|
-
Addresses [PR146](https://github.com/
|
106
|
+
Addresses [PR146](https://github.com/ClosureTree/closure_tree/pull/146).
|
49
107
|
Thanks for reporting this and the breaking test, [Mike](https://github.com/mkralla11)!
|
50
108
|
|
51
109
|
### 5.2.0
|
@@ -56,7 +114,7 @@
|
|
56
114
|
* [Ryan Selk](https://github.com/rselk) made several enhancements to the migration generation (thanks!).
|
57
115
|
* [ruok5](https://github.com/ruok5) updated the README to clarify a heirarchy maintenance usecase. Thanks!
|
58
116
|
* Made migrations error with a helpful message if the target didn't have the `has_closure_tree` or
|
59
|
-
`acts_as_tree` annotation. This addresses [issue 131](https://github.com/
|
117
|
+
`acts_as_tree` annotation. This addresses [issue 131](https://github.com/ClosureTree/closure_tree/issues/131).
|
60
118
|
|
61
119
|
### 5.1.1
|
62
120
|
|
@@ -67,7 +125,7 @@
|
|
67
125
|
|
68
126
|
* [Abdelkader Boudih](https://github.com/seuros) added a database generator
|
69
127
|
for the hierarchies table. Thanks!
|
70
|
-
* [Jason Weathered](https://github.com/jasoncodes) fixed [issue #117](https://github.com/
|
128
|
+
* [Jason Weathered](https://github.com/jasoncodes) fixed [issue #117](https://github.com/ClosureTree/closure_tree/pull/117)
|
71
129
|
with the preordered traversal code that assumed the primary key column was called `id`. Thanks!
|
72
130
|
|
73
131
|
### 5.0.0
|
@@ -91,13 +149,13 @@
|
|
91
149
|
|
92
150
|
### 4.6.2
|
93
151
|
|
94
|
-
* Pulled in [106](https://github.com/
|
152
|
+
* Pulled in [106](https://github.com/ClosureTree/closure_tree/pull/106) which fixed a bug introduced
|
95
153
|
in 4.6.0 which broke if the numeric ordering column wasn't named 'sort_order'. Tests have been
|
96
154
|
added. Thanks for the fix, [Fission Xuiptz](https://github.com/fissionxuiptz)!
|
97
155
|
|
98
156
|
### 4.6.1
|
99
157
|
|
100
|
-
* Address [issue 60](https://github.com/
|
158
|
+
* Address [issue 60](https://github.com/ClosureTree/closure_tree/issues/60) (use `.empty?` rather
|
101
159
|
than `.nil?`—thanks for the suggestion, [Leonel Galán](https://github.com/leonelgalan),
|
102
160
|
[Doug Mayer](https://github.com/doxavore) and [Samnang Chhun](https://github.com/samnang)!
|
103
161
|
|
@@ -124,7 +182,7 @@
|
|
124
182
|
|
125
183
|
### 4.4.0
|
126
184
|
|
127
|
-
* Added ```.self_and_descendant_ids``` and ```.self_and_ancestors_ids``` from [PR92](https://github.com/
|
185
|
+
* Added ```.self_and_descendant_ids``` and ```.self_and_ancestors_ids``` from [PR92](https://github.com/ClosureTree/closure_tree/pull/92).
|
128
186
|
Thanks, [Kir Shatrov](https://github.com/kirs)!
|
129
187
|
|
130
188
|
* Dropped support for Rails 3.0.
|
@@ -139,7 +197,7 @@
|
|
139
197
|
### 4.2.9
|
140
198
|
|
141
199
|
* Support for Heroku's cray assets:precompile hack for Rails 4.
|
142
|
-
Addresses [issue 78](https://github.com/
|
200
|
+
Addresses [issue 78](https://github.com/ClosureTree/closure_tree/issues/78).
|
143
201
|
Thanks for the assist, [Alex Bowman](https://github.com/axlekb).
|
144
202
|
|
145
203
|
### 4.2.8
|
@@ -149,7 +207,7 @@
|
|
149
207
|
### 4.2.7
|
150
208
|
|
151
209
|
* ```self_and_ancestors``` and ```ancestry_hierarchy``` are reloaded
|
152
|
-
when nodes are reparented. Addresses [issue 68](https://github.com/
|
210
|
+
when nodes are reparented. Addresses [issue 68](https://github.com/ClosureTree/closure_tree/issues/68).
|
153
211
|
Thanks for the assist, [Ivan Stana](https://github.com/istana).
|
154
212
|
|
155
213
|
### 4.2.6
|
@@ -169,12 +227,12 @@
|
|
169
227
|
### 4.2.4
|
170
228
|
|
171
229
|
* Support for ```root?```, ```child?```, and proper parent-child associations
|
172
|
-
when both the parent and the child are not persisted. Addresses [issue 64](https://github.com/
|
230
|
+
when both the parent and the child are not persisted. Addresses [issue 64](https://github.com/ClosureTree/closure_tree/issues/64).
|
173
231
|
Thanks for the help, [Gabriel Mazetto](https://github.com/brodock)!
|
174
232
|
|
175
233
|
### 4.2.3
|
176
234
|
|
177
|
-
* Fixed ```attr_accessible?``` error introduced in 4.2.2 ([issue 66](https://github.com/
|
235
|
+
* Fixed ```attr_accessible?``` error introduced in 4.2.2 ([issue 66](https://github.com/ClosureTree/closure_tree/issues/66)).
|
178
236
|
* Switched to use new WithAdvisoryLock::DatabaseAdapterSupport (in v0.0.9) to add Postgis support
|
179
237
|
|
180
238
|
### 4.2.2
|
@@ -204,11 +262,11 @@
|
|
204
262
|
|
205
263
|
* Numeric, deterministically ordered siblings will always be [0..#{self_and_siblings.count}]
|
206
264
|
(previously, the sort order might use negative values, which broke the preordering).
|
207
|
-
Resolves [issue 49](https://github.com/
|
265
|
+
Resolves [issue 49](https://github.com/ClosureTree/closure_tree/issues/49). Thanks for the help,
|
208
266
|
[Leonel Galan](https://github.com/leonelgalan), [Juan Hoyos](https://github.com/elhoyos), and
|
209
267
|
[Michael Elfassy](https://github.com/elfassy)!
|
210
268
|
|
211
|
-
* The ```order``` option can be a symbol now. Resolves [issue 46](https://github.com/
|
269
|
+
* The ```order``` option can be a symbol now. Resolves [issue 46](https://github.com/ClosureTree/closure_tree/issues/46).
|
212
270
|
|
213
271
|
### 4.0.0
|
214
272
|
|
@@ -223,22 +281,22 @@
|
|
223
281
|
### 3.10.2
|
224
282
|
|
225
283
|
* Prevent faulty SQL statement when ```#siblings``` is called on an unsaved records.
|
226
|
-
Resolves [issue 52](https://github.com/
|
284
|
+
Resolves [issue 52](https://github.com/ClosureTree/closure_tree/pull/52). Perfect pull
|
227
285
|
request by [Gary Greyling](https://github.com/garygreyling).
|
228
286
|
|
229
287
|
* The ```.roots``` class method now correctly respects the ```:order``` option.
|
230
|
-
Resolves [issue 53](https://github.com/
|
288
|
+
Resolves [issue 53](https://github.com/ClosureTree/closure_tree/issues/53).
|
231
289
|
Thanks for finding this, [Brendon Muir](https://github.com/brendon)!
|
232
290
|
|
233
291
|
### 3.10.1
|
234
292
|
|
235
293
|
* Multipart constant names like "Admin::PageHierarchy" are now supported.
|
236
|
-
Resolves [issue 47](https://github.com/
|
294
|
+
Resolves [issue 47](https://github.com/ClosureTree/closure_tree/issues/47).
|
237
295
|
Thanks for the perfect pull request, [Simon Menke](https://github.com/fd)!
|
238
296
|
|
239
297
|
* Committing transactions involving large numbers of hierarchy model classes was very slow due
|
240
298
|
to hash collisions in the hierarchy class. A better hash implementation addressed
|
241
|
-
[issue 48](https://github.com/
|
299
|
+
[issue 48](https://github.com/ClosureTree/closure_tree/issues/48).
|
242
300
|
Thanks, [Joel Turkel](https://github.com/jturkel)!
|
243
301
|
|
244
302
|
### 3.10.0
|
@@ -267,19 +325,19 @@ All three of these improvements were suggested by Andrew Bromwich. Thanks!
|
|
267
325
|
### 3.8.0
|
268
326
|
|
269
327
|
* Support for preordered descendants. This requires a numeric sort order column.
|
270
|
-
Resolves [feature request 38](https://github.com/
|
328
|
+
Resolves [feature request 38](https://github.com/ClosureTree/closure_tree/issues/38).
|
271
329
|
* Moved modules from ```acts_as_tree``` into separate files
|
272
330
|
|
273
331
|
### 3.7.3
|
274
332
|
|
275
333
|
Due to MySQL's inability to lock rows properly, I've switched to advisory_locks for
|
276
334
|
all write paths. This will prevent deadlocks, addressing
|
277
|
-
[issue 41](https://github.com/
|
335
|
+
[issue 41](https://github.com/ClosureTree/closure_tree/issues/41).
|
278
336
|
|
279
337
|
### 3.7.2
|
280
338
|
|
281
339
|
* Support for UUID primary keys. Addresses
|
282
|
-
[issue 40](https://github.com/
|
340
|
+
[issue 40](https://github.com/ClosureTree/closure_tree/issues/40). Thanks for the pull request,
|
283
341
|
[Julien](https://github.com/calexicoz)!
|
284
342
|
|
285
343
|
### 3.7.1
|
@@ -290,7 +348,7 @@ all write paths. This will prevent deadlocks, addressing
|
|
290
348
|
### 3.7.0
|
291
349
|
|
292
350
|
**Thread safety!**
|
293
|
-
* [Advisory locks](https://github.com/
|
351
|
+
* [Advisory locks](https://github.com/ClosureTree/with_advisory_lock) were
|
294
352
|
integrated with the class-level ```find_or_create_by_path``` and ```rebuild!```.
|
295
353
|
* Pessimistic locking is used by the instance-level ```find_or_create_by_path```.
|
296
354
|
|
@@ -303,7 +361,7 @@ wasting time on the ruby side.
|
|
303
361
|
### 3.6.7
|
304
362
|
|
305
363
|
* Added workaround for ActiveRecord::Observer usage pre-db-creation. Addresses
|
306
|
-
[issue 32](https://github.com/
|
364
|
+
[issue 32](https://github.com/ClosureTree/closure_tree/issues/32).
|
307
365
|
Thanks, [Don Morrison](https://github.com/elskwid)!
|
308
366
|
|
309
367
|
### 3.6.6
|
@@ -314,28 +372,28 @@ Thanks, [James Miller](https://github.com/bensie)!
|
|
314
372
|
### 3.6.5
|
315
373
|
|
316
374
|
* Use ```quote_table_name``` instead of ```quote_column_name```. Addresses
|
317
|
-
[issue 29](https://github.com/
|
375
|
+
[issue 29](https://github.com/ClosureTree/closure_tree/issues/29). Thanks,
|
318
376
|
[Marcello Barnaba](https://github.com/vjt)!
|
319
377
|
|
320
378
|
### 3.6.4
|
321
379
|
|
322
380
|
* Use ```.pluck``` when available for ```.ids_from```. Addresses
|
323
|
-
[issue 26](https://github.com/
|
381
|
+
[issue 26](https://github.com/ClosureTree/closure_tree/issues/26). Thanks,
|
324
382
|
[Chris Sturgill](https://github.com/sturgill)!
|
325
383
|
|
326
384
|
### 3.6.3
|
327
385
|
|
328
|
-
* Fixed [issue 24](https://github.com/
|
386
|
+
* Fixed [issue 24](https://github.com/ClosureTree/closure_tree/issues/24), which optimized ```#hash_tree```
|
329
387
|
for roots. Thanks, [Saverio Trioni](https://github.com/rewritten)!
|
330
388
|
|
331
389
|
### 3.6.2
|
332
390
|
|
333
|
-
* Fixed [issue 23](https://github.com/
|
391
|
+
* Fixed [issue 23](https://github.com/ClosureTree/closure_tree/issues/23), which added support for ```#siblings```
|
334
392
|
when sort_order wasn't specified. Thanks, [Gary Greyling](https://github.com/garygreyling)!
|
335
393
|
|
336
394
|
### 3.6.1
|
337
395
|
|
338
|
-
* Fixed [issue 20](https://github.com/
|
396
|
+
* Fixed [issue 20](https://github.com/ClosureTree/closure_tree/issues/20), which affected
|
339
397
|
deterministic ordering when siblings where different STI classes. Thanks, [edwinramirez](https://github.com/edwinramirez)!
|
340
398
|
|
341
399
|
### 3.6.0
|
@@ -345,16 +403,16 @@ Added support for:
|
|
345
403
|
* ActiveRecord::Base.table_name_prefix
|
346
404
|
* ActiveRecord::Base.table_name_suffix
|
347
405
|
|
348
|
-
This addresses [issue 21](https://github.com/
|
406
|
+
This addresses [issue 21](https://github.com/ClosureTree/closure_tree/issues/21). Thanks, [Judd Blair](https://github.com/juddblair)!
|
349
407
|
|
350
408
|
### 3.5.2
|
351
409
|
|
352
410
|
* Added ```find_all_by_generation```
|
353
|
-
for [feature request 17](https://github.com/
|
411
|
+
for [feature request 17](https://github.com/ClosureTree/closure_tree/issues/17).
|
354
412
|
|
355
413
|
### 3.4.2
|
356
414
|
|
357
|
-
* Fixed [issue 18](https://github.com/
|
415
|
+
* Fixed [issue 18](https://github.com/ClosureTree/closure_tree/issues/18), which affected
|
358
416
|
append_node/prepend_node ordering when the first node didn't have an explicit order_by value
|
359
417
|
|
360
418
|
### 3.4.1
|
@@ -363,7 +421,7 @@ This addresses [issue 21](https://github.com/mceachen/closure_tree/issues/21). T
|
|
363
421
|
|
364
422
|
### 3.4.0
|
365
423
|
|
366
|
-
Fixed [issue 15](https://github.com/
|
424
|
+
Fixed [issue 15](https://github.com/ClosureTree/closure_tree/issues/15):
|
367
425
|
* "parent" is now attr_accessible, which adds support for constructor-provided parents.
|
368
426
|
* updated readme accordingly
|
369
427
|
|
@@ -373,7 +431,7 @@ Fixed [issue 15](https://github.com/mceachen/closure_tree/issues/15):
|
|
373
431
|
|
374
432
|
### 3.3.1
|
375
433
|
|
376
|
-
* Added support for partially-unsaved hierarchies [issue 13](https://github.com/
|
434
|
+
* Added support for partially-unsaved hierarchies [issue 13](https://github.com/ClosureTree/closure_tree/issues/13):
|
377
435
|
```
|
378
436
|
a = Tag.new(name: "a")
|
379
437
|
b = Tag.new(name: "b")
|
@@ -388,7 +446,7 @@ a.save
|
|
388
446
|
### 3.2.1
|
389
447
|
|
390
448
|
* Added ```ancestor_ids```, ```descendant_ids```, and ```sibling_ids```
|
391
|
-
* Added example spec to solve [issue 9](https://github.com/
|
449
|
+
* Added example spec to solve [issue 9](https://github.com/ClosureTree/closure_tree/issues/9)
|
392
450
|
|
393
451
|
### 3.2.0
|
394
452
|
|
@@ -400,7 +458,7 @@ a.save
|
|
400
458
|
|
401
459
|
### 3.0.4
|
402
460
|
|
403
|
-
* Merged [pull request](https://github.com/
|
461
|
+
* Merged [pull request](https://github.com/ClosureTree/closure_tree/pull/8) to fix ```.siblings``` and ```.self_and_siblings```
|
404
462
|
(Thanks, [eljojo](https://github.com/eljojo)!)
|
405
463
|
|
406
464
|
### 3.0.3
|
@@ -415,7 +473,7 @@ a.save
|
|
415
473
|
|
416
474
|
### 3.0.1
|
417
475
|
|
418
|
-
* Support 3.2.0's fickle deprecation of InstanceMethods (Thanks, [jheiss](https://github.com/
|
476
|
+
* Support 3.2.0's fickle deprecation of InstanceMethods (Thanks, [jheiss](https://github.com/ClosureTree/closure_tree/pull/5))!
|
419
477
|
|
420
478
|
### 3.0.0
|
421
479
|
|
data/Gemfile
CHANGED
@@ -1,15 +1,7 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
|
4
|
-
gem 'mysql2'
|
5
|
-
gem 'pg'
|
6
|
-
gem 'sqlite3'
|
7
|
-
end
|
3
|
+
gemspec
|
8
4
|
|
9
|
-
platforms :jruby do
|
10
|
-
gem 'activerecord-jdbcmysql-adapter'
|
11
|
-
gem 'activerecord-jdbcpostgresql-adapter'
|
12
|
-
gem 'activerecord-jdbcsqlite3-adapter'
|
13
|
-
end
|
14
5
|
|
15
|
-
|
6
|
+
gem "bump", "~> 0.10.0"
|
7
|
+
gem "github_changelog_generator", "~> 1.16"
|