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