closure_tree 6.4.0 → 7.2.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/.gitignore +1 -0
- data/.travis.yml +19 -12
- data/Appraisals +75 -7
- data/CHANGELOG.md +92 -39
- data/Gemfile +0 -12
- data/README.md +67 -24
- data/_config.yml +1 -0
- data/closure_tree.gemspec +10 -7
- 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 +4 -6
- data/lib/closure_tree/hash_tree_support.rb +4 -4
- data/lib/closure_tree/hierarchy_maintenance.rb +31 -11
- 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 +29 -75
- 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: b0625b057493bad32e0431a7ac4cdba5abc8ee8ac29d09edab97953a68e670bd
|
4
|
+
data.tar.gz: b99a0700c15e962034444aa6393a774a20ea8fd996c312af1aadf2ad941d938f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 630b296849c1c26b4129e21d29e502d02fa61daa481b1c518846817208ab92f6c8ff75c708a687f1068a2c4ce84ad60b7d711d58a4e03a2a53a2f2ee6c459a89
|
7
|
+
data.tar.gz: b40be25daf8524d0a9cd5776163ec5a0be247fdf20e7172e3b2bd64b4002591224de88f145c20dacf087c0ec11dbfbc24ca56ef4ec27415f29977e9f092d2ac3
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
cache: bundler
|
2
|
-
sudo: false
|
3
2
|
language: ruby
|
3
|
+
|
4
4
|
rvm:
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
- 2.
|
8
|
-
# these haven't been passing for a while:
|
9
|
-
# - jruby-head
|
10
|
-
# - rbx
|
5
|
+
- 2.7.1
|
6
|
+
- 2.6.3
|
7
|
+
- 2.5.5
|
11
8
|
|
12
9
|
gemfile:
|
13
|
-
- gemfiles/
|
14
|
-
- gemfiles/activerecord_5.
|
10
|
+
- gemfiles/activerecord_6.0.gemfile
|
11
|
+
- gemfiles/activerecord_5.2.gemfile
|
12
|
+
- gemfiles/activerecord_5.1.gemfile
|
15
13
|
- gemfiles/activerecord_5.0.gemfile
|
14
|
+
- gemfiles/activerecord_4.2.gemfile
|
16
15
|
- gemfiles/activerecord_edge.gemfile
|
17
16
|
|
18
17
|
env:
|
@@ -20,10 +19,18 @@ env:
|
|
20
19
|
- DB=mysql
|
21
20
|
- DB=postgresql
|
22
21
|
|
22
|
+
services:
|
23
|
+
- mysql
|
24
|
+
- postgresql
|
25
|
+
|
23
26
|
script: WITH_ADVISORY_LOCK_PREFIX=$TRAVIS_JOB_ID bundle exec rake --trace spec:all
|
24
27
|
|
25
28
|
matrix:
|
26
29
|
allow_failures:
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
+
- gemfile: gemfiles/activerecord_edge.gemfile
|
31
|
+
- gemfile: gemfiles/activerecord_6.0.gemfile
|
32
|
+
exclude:
|
33
|
+
- rvm: 2.5.5
|
34
|
+
gemfile: gemfiles/activerecord_edge.gemfile
|
35
|
+
- rvm: 2.7.1
|
36
|
+
gemfile: gemfiles/activerecord_4.2.gemfile
|
data/Appraisals
CHANGED
@@ -1,22 +1,90 @@
|
|
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
|
17
75
|
end
|
18
76
|
|
19
77
|
appraise 'activerecord-edge' do
|
20
78
|
gem 'activerecord', github: 'rails/rails'
|
21
|
-
|
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
|
22
90
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,22 +1,75 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
### 7.2.0
|
4
|
+
- Ruby 2.7 support
|
5
|
+
- Ordering raw SQL argument wrapped with Arel.sql
|
6
|
+
|
7
|
+
### 7.1.0
|
8
|
+
Closure Tree is now tested against Rails 6.0
|
9
|
+
- Directly require core_ext for String#strip_heredoc[PR 350](https://github.com/ClosureTree/closure_tree/pull/350)
|
10
|
+
- Call Module#module_parent instead of deprecated #parent[PR 354](https://github.com/ClosureTree/closure_tree/pull/354)
|
11
|
+
|
12
|
+
### 7.0.0
|
13
|
+
Closure Tree is now tested against Rails 5.2
|
14
|
+
|
15
|
+
- Postpone configuration (database introspection)[PR 264](https://github.com/ClosureTree/closure_tree/pull/264)
|
16
|
+
- Fix "tree.find_by_path([])" [PR 288](https://github.com/ClosureTree/closure_tree/pull/288)
|
17
|
+
- Fixed generator specs and added migration version [PR 292](https://github.com/ClosureTree/closure_tree/pull/292)
|
18
|
+
- Eliminate deprecation warnings in ActiveRecord 5.2 [PR 296](https://github.com/ClosureTree/closure_tree/pull/296)
|
19
|
+
- When using 'oracle_enhanced', remove 'AS' on the table_name alias. [PR 298](https://github.com/ClosureTree/closure_tree/pull/298)
|
20
|
+
- README update [PR 301](https://github.com/ClosureTree/closure_tree/pull/301)
|
21
|
+
- Add `with_descendant` finder [PR 302](https://github.com/ClosureTree/closure_tree/pull/302)
|
22
|
+
- Fix pg version for rails prior 5.1 [PR 303](https://github.com/ClosureTree/closure_tree/pull/303)
|
23
|
+
- Test on Rails 5.2 & fix mysql for older Rails [PR 304](https://github.com/ClosureTree/closure_tree/pull/304)
|
24
|
+
- Test with ActiveRecord 5.2.0 [PR 307](https://github.com/ClosureTree/closure_tree/pull/307)
|
25
|
+
- README update [PR 310](https://github.com/ClosureTree/closure_tree/pull/310)
|
26
|
+
- FactoryBot linter failing for a model that uses closure_tree [PR 311](https://github.com/ClosureTree/closure_tree/pull/311)
|
27
|
+
- Added dont_order_roots option [PR 312](https://github.com/ClosureTree/closure_tree/pull/312)
|
28
|
+
- Added instance methods to determine the relationship between 2 nodes [PR 314](https://github.com/ClosureTree/closure_tree/pull/314)
|
29
|
+
- Add an instance method to check the relationship between 2 nodes: #family_of? [PR 319](https://github.com/ClosureTree/closure_tree/pull/319)
|
30
|
+
- Remove options restrictions on has_closure_tree_root [PR 321](https://github.com/ClosureTree/closure_tree/pull/321)
|
31
|
+
- Fix uninitialized variable warnings [PR 323](https://github.com/ClosureTree/closure_tree/pull/323)
|
32
|
+
|
33
|
+
### 6.6.0
|
34
|
+
|
35
|
+
Closure Tree is now tested against Rails 5.1, and just passed 50 contributors and
|
36
|
+
1000 stars on github! 🎉!
|
37
|
+
|
38
|
+
Note that Closure Tree has moved to a new "Closure Tree" github organization.
|
39
|
+
**Future gem releases will be done by other contributors.**
|
40
|
+
|
41
|
+
* ActiveSupport 5.1 deprecation warnings were addressed in [PR
|
42
|
+
262](https://github.com/ClosureTree/closure_tree/pull/262). Thanks, [Charles
|
43
|
+
Pence](https://github.com/cpence)!
|
44
|
+
* ActiveSupport 5.1 test failures were fixed in
|
45
|
+
[PR 280](https://github.com/ClosureTree/closure_tree/pull/280).
|
46
|
+
Thanks, [Bobby Uhlenbrock](https://github.com/uhlenbrock)!
|
47
|
+
* A database connection was leaked at startup, fixed in [PR
|
48
|
+
263](https://github.com/ClosureTree/closure_tree/pull/263). Thanks, [Andrey
|
49
|
+
Novikov](https://github.com/Envek)!
|
50
|
+
|
51
|
+
### 6.5.0
|
52
|
+
|
53
|
+
* Merged [PR 258](https://github.com/ClosureTree/closure_tree/pull/258) which
|
54
|
+
improves hierarchy maintenance with large trees. Thanks, [Nikolay
|
55
|
+
Bekirov](https://github.com/nbekirov)!
|
3
56
|
### 6.4.0
|
4
57
|
|
5
|
-
* Merged [PR 236](https://github.com/
|
58
|
+
* Merged [PR 236](https://github.com/ClosureTree/closure_tree/pull/236) which adds documentation for `has_closure_tree_root`.
|
6
59
|
* Added ruby 2.4 and dropped Rails 4.1 from the build matrix.
|
7
60
|
|
8
61
|
### 6.3.0
|
9
62
|
|
10
|
-
* `prepend_child` [handles invalid children properly now](https://github.com/
|
63
|
+
* `prepend_child` [handles invalid children properly now](https://github.com/ClosureTree/closure_tree/issues/249).
|
11
64
|
Thanks [Amit Saxena](https://github.com/amitsaxena)!
|
12
65
|
* Dropped official support for jruby and ruby 2.0 (no code was changed)
|
13
66
|
|
14
67
|
### 6.2.0
|
15
68
|
|
16
|
-
* Fix for [MySQL lock lengths](https://github.com/
|
69
|
+
* Fix for [MySQL lock lengths](https://github.com/ClosureTree/closure_tree/issues/231).
|
17
70
|
Thanks to [Liam](https://github.com/hut8)!
|
18
|
-
* [Tom Smyth](https://github.com/hooverlunch) added [eager tree loading](https://github.com/
|
19
|
-
* Merged [PR 200](https://github.com/
|
71
|
+
* [Tom Smyth](https://github.com/hooverlunch) added [eager tree loading](https://github.com/ClosureTree/closure_tree/pull/232)
|
72
|
+
* 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).
|
20
73
|
|
21
74
|
### 6.1.0
|
22
75
|
|
@@ -40,7 +93,7 @@
|
|
40
93
|
* Dropped support for versions of Rails 3.2 and 4.0 (which are no longer supported).
|
41
94
|
* Dropped support for Ruby 1.9 and JRuby 1.9 (which are no longer supported).
|
42
95
|
* Added support for `.hash_tree` from `.parent` and `.children`.
|
43
|
-
Addresses [PR146](https://github.com/
|
96
|
+
Addresses [PR146](https://github.com/ClosureTree/closure_tree/pull/146).
|
44
97
|
Thanks for reporting this and the breaking test, [Mike](https://github.com/mkralla11)!
|
45
98
|
|
46
99
|
### 5.2.0
|
@@ -51,7 +104,7 @@
|
|
51
104
|
* [Ryan Selk](https://github.com/rselk) made several enhancements to the migration generation (thanks!).
|
52
105
|
* [ruok5](https://github.com/ruok5) updated the README to clarify a heirarchy maintenance usecase. Thanks!
|
53
106
|
* Made migrations error with a helpful message if the target didn't have the `has_closure_tree` or
|
54
|
-
`acts_as_tree` annotation. This addresses [issue 131](https://github.com/
|
107
|
+
`acts_as_tree` annotation. This addresses [issue 131](https://github.com/ClosureTree/closure_tree/issues/131).
|
55
108
|
|
56
109
|
### 5.1.1
|
57
110
|
|
@@ -62,7 +115,7 @@
|
|
62
115
|
|
63
116
|
* [Abdelkader Boudih](https://github.com/seuros) added a database generator
|
64
117
|
for the hierarchies table. Thanks!
|
65
|
-
* [Jason Weathered](https://github.com/jasoncodes) fixed [issue #117](https://github.com/
|
118
|
+
* [Jason Weathered](https://github.com/jasoncodes) fixed [issue #117](https://github.com/ClosureTree/closure_tree/pull/117)
|
66
119
|
with the preordered traversal code that assumed the primary key column was called `id`. Thanks!
|
67
120
|
|
68
121
|
### 5.0.0
|
@@ -86,13 +139,13 @@
|
|
86
139
|
|
87
140
|
### 4.6.2
|
88
141
|
|
89
|
-
* Pulled in [106](https://github.com/
|
142
|
+
* Pulled in [106](https://github.com/ClosureTree/closure_tree/pull/106) which fixed a bug introduced
|
90
143
|
in 4.6.0 which broke if the numeric ordering column wasn't named 'sort_order'. Tests have been
|
91
144
|
added. Thanks for the fix, [Fission Xuiptz](https://github.com/fissionxuiptz)!
|
92
145
|
|
93
146
|
### 4.6.1
|
94
147
|
|
95
|
-
* Address [issue 60](https://github.com/
|
148
|
+
* Address [issue 60](https://github.com/ClosureTree/closure_tree/issues/60) (use `.empty?` rather
|
96
149
|
than `.nil?`—thanks for the suggestion, [Leonel Galán](https://github.com/leonelgalan),
|
97
150
|
[Doug Mayer](https://github.com/doxavore) and [Samnang Chhun](https://github.com/samnang)!
|
98
151
|
|
@@ -119,7 +172,7 @@
|
|
119
172
|
|
120
173
|
### 4.4.0
|
121
174
|
|
122
|
-
* Added ```.self_and_descendant_ids``` and ```.self_and_ancestors_ids``` from [PR92](https://github.com/
|
175
|
+
* Added ```.self_and_descendant_ids``` and ```.self_and_ancestors_ids``` from [PR92](https://github.com/ClosureTree/closure_tree/pull/92).
|
123
176
|
Thanks, [Kir Shatrov](https://github.com/kirs)!
|
124
177
|
|
125
178
|
* Dropped support for Rails 3.0.
|
@@ -134,7 +187,7 @@
|
|
134
187
|
### 4.2.9
|
135
188
|
|
136
189
|
* Support for Heroku's cray assets:precompile hack for Rails 4.
|
137
|
-
Addresses [issue 78](https://github.com/
|
190
|
+
Addresses [issue 78](https://github.com/ClosureTree/closure_tree/issues/78).
|
138
191
|
Thanks for the assist, [Alex Bowman](https://github.com/axlekb).
|
139
192
|
|
140
193
|
### 4.2.8
|
@@ -144,7 +197,7 @@
|
|
144
197
|
### 4.2.7
|
145
198
|
|
146
199
|
* ```self_and_ancestors``` and ```ancestry_hierarchy``` are reloaded
|
147
|
-
when nodes are reparented. Addresses [issue 68](https://github.com/
|
200
|
+
when nodes are reparented. Addresses [issue 68](https://github.com/ClosureTree/closure_tree/issues/68).
|
148
201
|
Thanks for the assist, [Ivan Stana](https://github.com/istana).
|
149
202
|
|
150
203
|
### 4.2.6
|
@@ -164,12 +217,12 @@
|
|
164
217
|
### 4.2.4
|
165
218
|
|
166
219
|
* Support for ```root?```, ```child?```, and proper parent-child associations
|
167
|
-
when both the parent and the child are not persisted. Addresses [issue 64](https://github.com/
|
220
|
+
when both the parent and the child are not persisted. Addresses [issue 64](https://github.com/ClosureTree/closure_tree/issues/64).
|
168
221
|
Thanks for the help, [Gabriel Mazetto](https://github.com/brodock)!
|
169
222
|
|
170
223
|
### 4.2.3
|
171
224
|
|
172
|
-
* Fixed ```attr_accessible?``` error introduced in 4.2.2 ([issue 66](https://github.com/
|
225
|
+
* Fixed ```attr_accessible?``` error introduced in 4.2.2 ([issue 66](https://github.com/ClosureTree/closure_tree/issues/66)).
|
173
226
|
* Switched to use new WithAdvisoryLock::DatabaseAdapterSupport (in v0.0.9) to add Postgis support
|
174
227
|
|
175
228
|
### 4.2.2
|
@@ -199,11 +252,11 @@
|
|
199
252
|
|
200
253
|
* Numeric, deterministically ordered siblings will always be [0..#{self_and_siblings.count}]
|
201
254
|
(previously, the sort order might use negative values, which broke the preordering).
|
202
|
-
Resolves [issue 49](https://github.com/
|
255
|
+
Resolves [issue 49](https://github.com/ClosureTree/closure_tree/issues/49). Thanks for the help,
|
203
256
|
[Leonel Galan](https://github.com/leonelgalan), [Juan Hoyos](https://github.com/elhoyos), and
|
204
257
|
[Michael Elfassy](https://github.com/elfassy)!
|
205
258
|
|
206
|
-
* The ```order``` option can be a symbol now. Resolves [issue 46](https://github.com/
|
259
|
+
* The ```order``` option can be a symbol now. Resolves [issue 46](https://github.com/ClosureTree/closure_tree/issues/46).
|
207
260
|
|
208
261
|
### 4.0.0
|
209
262
|
|
@@ -218,22 +271,22 @@
|
|
218
271
|
### 3.10.2
|
219
272
|
|
220
273
|
* Prevent faulty SQL statement when ```#siblings``` is called on an unsaved records.
|
221
|
-
Resolves [issue 52](https://github.com/
|
274
|
+
Resolves [issue 52](https://github.com/ClosureTree/closure_tree/pull/52). Perfect pull
|
222
275
|
request by [Gary Greyling](https://github.com/garygreyling).
|
223
276
|
|
224
277
|
* The ```.roots``` class method now correctly respects the ```:order``` option.
|
225
|
-
Resolves [issue 53](https://github.com/
|
278
|
+
Resolves [issue 53](https://github.com/ClosureTree/closure_tree/issues/53).
|
226
279
|
Thanks for finding this, [Brendon Muir](https://github.com/brendon)!
|
227
280
|
|
228
281
|
### 3.10.1
|
229
282
|
|
230
283
|
* Multipart constant names like "Admin::PageHierarchy" are now supported.
|
231
|
-
Resolves [issue 47](https://github.com/
|
284
|
+
Resolves [issue 47](https://github.com/ClosureTree/closure_tree/issues/47).
|
232
285
|
Thanks for the perfect pull request, [Simon Menke](https://github.com/fd)!
|
233
286
|
|
234
287
|
* Committing transactions involving large numbers of hierarchy model classes was very slow due
|
235
288
|
to hash collisions in the hierarchy class. A better hash implementation addressed
|
236
|
-
[issue 48](https://github.com/
|
289
|
+
[issue 48](https://github.com/ClosureTree/closure_tree/issues/48).
|
237
290
|
Thanks, [Joel Turkel](https://github.com/jturkel)!
|
238
291
|
|
239
292
|
### 3.10.0
|
@@ -262,19 +315,19 @@ All three of these improvements were suggested by Andrew Bromwich. Thanks!
|
|
262
315
|
### 3.8.0
|
263
316
|
|
264
317
|
* Support for preordered descendants. This requires a numeric sort order column.
|
265
|
-
Resolves [feature request 38](https://github.com/
|
318
|
+
Resolves [feature request 38](https://github.com/ClosureTree/closure_tree/issues/38).
|
266
319
|
* Moved modules from ```acts_as_tree``` into separate files
|
267
320
|
|
268
321
|
### 3.7.3
|
269
322
|
|
270
323
|
Due to MySQL's inability to lock rows properly, I've switched to advisory_locks for
|
271
324
|
all write paths. This will prevent deadlocks, addressing
|
272
|
-
[issue 41](https://github.com/
|
325
|
+
[issue 41](https://github.com/ClosureTree/closure_tree/issues/41).
|
273
326
|
|
274
327
|
### 3.7.2
|
275
328
|
|
276
329
|
* Support for UUID primary keys. Addresses
|
277
|
-
[issue 40](https://github.com/
|
330
|
+
[issue 40](https://github.com/ClosureTree/closure_tree/issues/40). Thanks for the pull request,
|
278
331
|
[Julien](https://github.com/calexicoz)!
|
279
332
|
|
280
333
|
### 3.7.1
|
@@ -285,7 +338,7 @@ all write paths. This will prevent deadlocks, addressing
|
|
285
338
|
### 3.7.0
|
286
339
|
|
287
340
|
**Thread safety!**
|
288
|
-
* [Advisory locks](https://github.com/
|
341
|
+
* [Advisory locks](https://github.com/ClosureTree/with_advisory_lock) were
|
289
342
|
integrated with the class-level ```find_or_create_by_path``` and ```rebuild!```.
|
290
343
|
* Pessimistic locking is used by the instance-level ```find_or_create_by_path```.
|
291
344
|
|
@@ -298,7 +351,7 @@ wasting time on the ruby side.
|
|
298
351
|
### 3.6.7
|
299
352
|
|
300
353
|
* Added workaround for ActiveRecord::Observer usage pre-db-creation. Addresses
|
301
|
-
[issue 32](https://github.com/
|
354
|
+
[issue 32](https://github.com/ClosureTree/closure_tree/issues/32).
|
302
355
|
Thanks, [Don Morrison](https://github.com/elskwid)!
|
303
356
|
|
304
357
|
### 3.6.6
|
@@ -309,28 +362,28 @@ Thanks, [James Miller](https://github.com/bensie)!
|
|
309
362
|
### 3.6.5
|
310
363
|
|
311
364
|
* Use ```quote_table_name``` instead of ```quote_column_name```. Addresses
|
312
|
-
[issue 29](https://github.com/
|
365
|
+
[issue 29](https://github.com/ClosureTree/closure_tree/issues/29). Thanks,
|
313
366
|
[Marcello Barnaba](https://github.com/vjt)!
|
314
367
|
|
315
368
|
### 3.6.4
|
316
369
|
|
317
370
|
* Use ```.pluck``` when available for ```.ids_from```. Addresses
|
318
|
-
[issue 26](https://github.com/
|
371
|
+
[issue 26](https://github.com/ClosureTree/closure_tree/issues/26). Thanks,
|
319
372
|
[Chris Sturgill](https://github.com/sturgill)!
|
320
373
|
|
321
374
|
### 3.6.3
|
322
375
|
|
323
|
-
* Fixed [issue 24](https://github.com/
|
376
|
+
* Fixed [issue 24](https://github.com/ClosureTree/closure_tree/issues/24), which optimized ```#hash_tree```
|
324
377
|
for roots. Thanks, [Saverio Trioni](https://github.com/rewritten)!
|
325
378
|
|
326
379
|
### 3.6.2
|
327
380
|
|
328
|
-
* Fixed [issue 23](https://github.com/
|
381
|
+
* Fixed [issue 23](https://github.com/ClosureTree/closure_tree/issues/23), which added support for ```#siblings```
|
329
382
|
when sort_order wasn't specified. Thanks, [Gary Greyling](https://github.com/garygreyling)!
|
330
383
|
|
331
384
|
### 3.6.1
|
332
385
|
|
333
|
-
* Fixed [issue 20](https://github.com/
|
386
|
+
* Fixed [issue 20](https://github.com/ClosureTree/closure_tree/issues/20), which affected
|
334
387
|
deterministic ordering when siblings where different STI classes. Thanks, [edwinramirez](https://github.com/edwinramirez)!
|
335
388
|
|
336
389
|
### 3.6.0
|
@@ -340,16 +393,16 @@ Added support for:
|
|
340
393
|
* ActiveRecord::Base.table_name_prefix
|
341
394
|
* ActiveRecord::Base.table_name_suffix
|
342
395
|
|
343
|
-
This addresses [issue 21](https://github.com/
|
396
|
+
This addresses [issue 21](https://github.com/ClosureTree/closure_tree/issues/21). Thanks, [Judd Blair](https://github.com/juddblair)!
|
344
397
|
|
345
398
|
### 3.5.2
|
346
399
|
|
347
400
|
* Added ```find_all_by_generation```
|
348
|
-
for [feature request 17](https://github.com/
|
401
|
+
for [feature request 17](https://github.com/ClosureTree/closure_tree/issues/17).
|
349
402
|
|
350
403
|
### 3.4.2
|
351
404
|
|
352
|
-
* Fixed [issue 18](https://github.com/
|
405
|
+
* Fixed [issue 18](https://github.com/ClosureTree/closure_tree/issues/18), which affected
|
353
406
|
append_node/prepend_node ordering when the first node didn't have an explicit order_by value
|
354
407
|
|
355
408
|
### 3.4.1
|
@@ -358,7 +411,7 @@ This addresses [issue 21](https://github.com/mceachen/closure_tree/issues/21). T
|
|
358
411
|
|
359
412
|
### 3.4.0
|
360
413
|
|
361
|
-
Fixed [issue 15](https://github.com/
|
414
|
+
Fixed [issue 15](https://github.com/ClosureTree/closure_tree/issues/15):
|
362
415
|
* "parent" is now attr_accessible, which adds support for constructor-provided parents.
|
363
416
|
* updated readme accordingly
|
364
417
|
|
@@ -368,7 +421,7 @@ Fixed [issue 15](https://github.com/mceachen/closure_tree/issues/15):
|
|
368
421
|
|
369
422
|
### 3.3.1
|
370
423
|
|
371
|
-
* Added support for partially-unsaved hierarchies [issue 13](https://github.com/
|
424
|
+
* Added support for partially-unsaved hierarchies [issue 13](https://github.com/ClosureTree/closure_tree/issues/13):
|
372
425
|
```
|
373
426
|
a = Tag.new(name: "a")
|
374
427
|
b = Tag.new(name: "b")
|
@@ -383,7 +436,7 @@ a.save
|
|
383
436
|
### 3.2.1
|
384
437
|
|
385
438
|
* Added ```ancestor_ids```, ```descendant_ids```, and ```sibling_ids```
|
386
|
-
* Added example spec to solve [issue 9](https://github.com/
|
439
|
+
* Added example spec to solve [issue 9](https://github.com/ClosureTree/closure_tree/issues/9)
|
387
440
|
|
388
441
|
### 3.2.0
|
389
442
|
|
@@ -395,7 +448,7 @@ a.save
|
|
395
448
|
|
396
449
|
### 3.0.4
|
397
450
|
|
398
|
-
* Merged [pull request](https://github.com/
|
451
|
+
* Merged [pull request](https://github.com/ClosureTree/closure_tree/pull/8) to fix ```.siblings``` and ```.self_and_siblings```
|
399
452
|
(Thanks, [eljojo](https://github.com/eljojo)!)
|
400
453
|
|
401
454
|
### 3.0.3
|
@@ -410,7 +463,7 @@ a.save
|
|
410
463
|
|
411
464
|
### 3.0.1
|
412
465
|
|
413
|
-
* Support 3.2.0's fickle deprecation of InstanceMethods (Thanks, [jheiss](https://github.com/
|
466
|
+
* Support 3.2.0's fickle deprecation of InstanceMethods (Thanks, [jheiss](https://github.com/ClosureTree/closure_tree/pull/5))!
|
414
467
|
|
415
468
|
### 3.0.0
|
416
469
|
|