ancestry 4.3.3 → 5.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 +161 -65
- data/README.md +56 -40
- data/lib/ancestry/class_methods.rb +105 -69
- data/lib/ancestry/exceptions.rb +3 -1
- data/lib/ancestry/has_ancestry.rb +82 -49
- data/lib/ancestry/instance_methods.rb +129 -87
- data/lib/ancestry/locales/en.yml +0 -1
- data/lib/ancestry/materialized_path.rb +117 -54
- data/lib/ancestry/materialized_path2.rb +66 -21
- data/lib/ancestry/materialized_path_pg.rb +32 -13
- data/lib/ancestry/version.rb +3 -1
- data/lib/ancestry.rb +3 -1
- metadata +18 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: fa438f6ed3ae400ec1783712fb569500f53ce4d419d3c3baa186bdad75307fd8
|
|
4
|
+
data.tar.gz: 61d26886919b74f482e96f9d59cc0fa4131068d61b3316747523c0b315ab57c4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a6e238d9fb765a56d60c4bfe9f9ba06c926ffe0bc76155858024914a94a71034827877c3ef17258121e43c85b6a49aea61df8a44021f96b65341ef48fab62426
|
|
7
|
+
data.tar.gz: 7b1ca54b59347311d55375b5703c56134e8d11243a64ade0d5d94071a65311b683f593c8a8daa1aa5386bf2969e3588f3f7876ee2b5520440aff388fdac906bb
|
data/CHANGELOG.md
CHANGED
|
@@ -3,22 +3,97 @@
|
|
|
3
3
|
Doing our best at supporting [SemVer](http://semver.org/) with
|
|
4
4
|
a nice looking [Changelog](http://keepachangelog.com).
|
|
5
5
|
|
|
6
|
-
## Version [
|
|
6
|
+
## Version [5.1.0] <sub><sup>2026-03-10</sup></sub>
|
|
7
|
+
|
|
8
|
+
* `update_strategy: :sql` now works on all databases (SQLite, MySQL, PostgreSQL) [#715](https://github.com/stefankroes/ancestry/pull/715)
|
|
9
|
+
* Introduce depth constraint validation for subtree moves [#713](https://github.com/stefankroes/ancestry/pull/713) (thx @wilburhimself)
|
|
10
|
+
* Fix: CHANGELOG HTML entity fix [#712](https://github.com/stefankroes/ancestry/pull/712) (thx @biow0lf)
|
|
11
|
+
* Testing Ruby 4.0 support [#709](https://github.com/stefankroes/ancestry/pull/709) (thx @fkmy)
|
|
12
|
+
* Tested against Ruby 2.7–4.0 and Rails 6.0–8.1 [#716](https://github.com/stefankroes/ancestry/pull/716)
|
|
13
|
+
|
|
14
|
+
### Deprecations
|
|
15
|
+
|
|
16
|
+
These class-level accessors still work but are being phased out.
|
|
17
|
+
We are moving configuration into baked method bodies and away from class variables.
|
|
18
|
+
If you depend on reading these at runtime, now is a good time to find alternatives:
|
|
19
|
+
|
|
20
|
+
* `ancestry_column`, `ancestry_delimiter`, `depth_cache_column`, `counter_cache_column`, `touch_ancestors`
|
|
21
|
+
|
|
22
|
+
### Breaking Changes
|
|
23
|
+
|
|
24
|
+
* `sort_by_ancestry` and `check_ancestry_integrity!` now delegate to `_sort_by_ancestry` and
|
|
25
|
+
`_check_ancestry_integrity!` with an explicit column parameter. The public API is unchanged.
|
|
26
|
+
|
|
27
|
+
## Version [5.0.0] <sub><sup>2026-02-08</sup></sub>
|
|
28
|
+
|
|
29
|
+
* Fix: `siblings` now excludes self [#710](https://github.com/stefankroes/ancestry/pull/710) (thx @chikamichi)
|
|
30
|
+
* Introduce `orphan_strategy: :none` [#658](https://github.com/stefankroes/ancestry/pull/658)
|
|
31
|
+
* Introduce `rebuild_counter_cache!` to reset counter caches. [#663](https://github.com/stefankroes/ancestry/pull/663) [#668](https://github.com/stefankroes/ancestry/pull/668) (thx @RongRongTeng)
|
|
32
|
+
* Introduce `in_subtree_of?` instance method [#680](https://github.com/stefankroes/ancestry/pull/680) (thx @instrumentl)
|
|
33
|
+
* Optimize `has_siblings?` to use `exists?` [#693](https://github.com/stefankroes/ancestry/pull/693) (thx @a5-stable)
|
|
34
|
+
* Fix: humanise model name in error messages [#700](https://github.com/stefankroes/ancestry/pull/700) (thx @labeebklatif)
|
|
35
|
+
* Fix: touch with sql update strategy
|
|
36
|
+
* Introduce `update_strategy: :sql` hooks for extension developers
|
|
37
|
+
* Added support for virtual depth column
|
|
38
|
+
* Documentation fixes [#664](https://github.com/stefankroes/ancestry/pull/664) [#667](https://github.com/stefankroes/ancestry/pull/667) (thx @motokikando, @onerinas)
|
|
39
|
+
* Introduce `build_cache_depth_sql!`, a sql alternative to `build_cache_depth` [#654](https://github.com/stefankroes/ancestry/pull/654)
|
|
40
|
+
* Drop `ancestry_primary_key_format` [#649](https://github.com/stefankroes/ancestry/pull/649)
|
|
41
|
+
* When destroying orphans, going from leafs up to node [#635](https://github.com/stefankroes/ancestry/pull/635) (thx @brendon)
|
|
42
|
+
* Changed config setters to class readers [#633](https://github.com/stefankroes/ancestry/pull/633) (thx @kshurov)
|
|
43
|
+
* Split apply_orphan_strategy into multiple methods [#632](https://github.com/stefankroes/ancestry/pull/633) [#633](https://github.com/stefankroes/ancestry/pull/617)
|
|
44
|
+
* Ruby 3.4 support
|
|
45
|
+
* Rails 8.0 support
|
|
46
|
+
|
|
47
|
+
### Notable features
|
|
48
|
+
|
|
49
|
+
Depth scopes now work without `cache_depth`. But please only use this in background
|
|
50
|
+
jobs. If you need to do this in the ui, please use `cache_depth`.
|
|
51
|
+
|
|
52
|
+
`build_cache_depth_sql!` is quicker than `build_cache_depth!` (1 query instead of N+1 queries).
|
|
53
|
+
|
|
54
|
+
### Deprecations
|
|
55
|
+
|
|
56
|
+
* Option `:depth_cache_column` is going away.
|
|
57
|
+
Please use a single key instead: `cache_depth: :depth_cach_column_name`.
|
|
58
|
+
`cache_depth: true` still defaults to `ancestry_depth`.
|
|
59
|
+
|
|
60
|
+
### Breaking Changes
|
|
61
|
+
|
|
62
|
+
* `siblings` no longer returns self. This is a bug fix, but does change behavior.
|
|
63
|
+
* Dropped support for Rails < 6.1
|
|
64
|
+
* Renamed internal methods to follow Rails conventions: `*_before_save` methods renamed to `*_before_last_save`
|
|
65
|
+
(e.g., `child_ancestry_before_save` => `child_ancestry_before_last_save`)
|
|
66
|
+
* Options are no longer set via class methods. Using `has_ancestry` is now the only way to enable these features.
|
|
67
|
+
These are all not part of the public API.
|
|
68
|
+
* These are now class level read only accessors
|
|
69
|
+
* `ancestry_base_class` (introduced 1.1, removed by #633)
|
|
70
|
+
* `ancestry_column` (introduced 1.2, removed by #633)
|
|
71
|
+
* `ancestry_delimiter` (introduced 4.3.0, removed by #633)
|
|
72
|
+
* `depth_cache_column` (introduced 4.3.0, removed by #654)
|
|
73
|
+
* These no longer have any accessors
|
|
74
|
+
* `ancestry_format` (introduced 4.3.0, removed by #654)
|
|
75
|
+
* `orphan_strategy` (introduced 1.1, removed by #617)
|
|
76
|
+
* `ancestry_primary_key_format` (introduced 4.3.0, removed by #649)
|
|
77
|
+
* `touch_ancestors` (introduced 2.1, removed by TODO)
|
|
78
|
+
* These are seen as internal and may go away:
|
|
79
|
+
* `apply_orphan_strategy` Please use `orphan_strategy: :none` and a custom `before_destory` instead.
|
|
80
|
+
|
|
81
|
+
## Version [4.3.3] <sub><sup>2023-04-01</sup></sub>
|
|
7
82
|
|
|
8
83
|
* Fix: sort_by_ancesty with custom ancestry_column [#656](https://github.com/stefankroes/ancestry/pull/656) (thx @mitsuru)
|
|
9
84
|
|
|
10
|
-
## Version [4.3.2] <sub><sup>2023-03-25</sub
|
|
85
|
+
## Version [4.3.2] <sub><sup>2023-03-25</sup></sub>
|
|
11
86
|
|
|
12
87
|
* Fix: added back fields that were removed in #589 [#647](https://github.com/stefankroes/ancestry/pull/647) (thx @rastamhadi)
|
|
13
|
-
|
|
88
|
+
* path_ids_in_database
|
|
14
89
|
|
|
15
|
-
## Version [4.3.1] <sub><sup>2023-03-19</sub
|
|
90
|
+
## Version [4.3.1] <sub><sup>2023-03-19</sup></sub>
|
|
16
91
|
|
|
17
92
|
* Fix: added back fields that were removed in #589 [#637](https://github.com/stefankroes/ancestry/pull/637) (thx @znz)
|
|
18
|
-
|
|
19
|
-
|
|
93
|
+
* ancestor_ids_in_database
|
|
94
|
+
* parent_id_in_database
|
|
20
95
|
|
|
21
|
-
## Version [4.3.0] <sub><sup>2023-03-09</sub
|
|
96
|
+
## Version [4.3.0] <sub><sup>2023-03-09</sup></sub>
|
|
22
97
|
|
|
23
98
|
* Fix: materialized_path2 strategy [#597](https://github.com/stefankroes/ancestry/pull/597) (thx @kshnurov)
|
|
24
99
|
* Fix: descendants ancestry is now updated in after_update callbacks [#589](https://github.com/stefankroes/ancestry/pull/589) (thx @kshnurov)
|
|
@@ -30,7 +105,7 @@ a nice looking [Changelog](http://keepachangelog.com).
|
|
|
30
105
|
* ruby 3.2 support [#596](https://github.com/stefankroes/ancestry/pull/596) (thx @petergoldstein)
|
|
31
106
|
* Reduce memory for sort_by_ancestry [#415](https://github.com/stefankroes/ancestry/pull/415)
|
|
32
107
|
|
|
33
|
-
|
|
108
|
+
### Notable features
|
|
34
109
|
|
|
35
110
|
Default configuration values are provided for a few options: `update_strategy`, `ancestry_format`, and `primary_key_format`.
|
|
36
111
|
These can be set in an initializer via `Ancestry.default_{ancestry_format} = value`
|
|
@@ -40,12 +115,12 @@ It shows promise to make the `ancestry` field more sql friendly.
|
|
|
40
115
|
|
|
41
116
|
Both of these are better documented in [the readme](/README.md).
|
|
42
117
|
|
|
43
|
-
|
|
118
|
+
### Breaking changes
|
|
44
119
|
|
|
45
|
-
|
|
120
|
+
* `ancestry_primary_key_format` is now specified or a single key not the whole regular expression.
|
|
46
121
|
We used to accept `/\A[0-9]+(/[0-9]+)*` or `'[0-9]'`, but now we only accept `'[0-9]'`.
|
|
47
122
|
|
|
48
|
-
## Version [4.2.0] <sub><sup>2022-06-09</sub
|
|
123
|
+
## Version [4.2.0] <sub><sup>2022-06-09</sup></sub>
|
|
49
124
|
|
|
50
125
|
* added strategy: materialized_path2 [#571](https://github.com/stefankroes/ancestry/pull/571)
|
|
51
126
|
* Added tree_view method [#561](https://github.com/stefankroes/ancestry/pull/561) (thx @bizcho)
|
|
@@ -54,7 +129,7 @@ Both of these are better documented in [the readme](/README.md).
|
|
|
54
129
|
* rails 7.0 support (thx @chenillen, @petergoldstein)
|
|
55
130
|
* Documentation fixes (thx @benkoshy, @mijoharas)
|
|
56
131
|
|
|
57
|
-
## Version [4.1.0] <sub><sup>2021-06-25</sub
|
|
132
|
+
## Version [4.1.0] <sub><sup>2021-06-25</sup></sub>
|
|
58
133
|
|
|
59
134
|
* `parent` with an invalid id now returns nil (thx @vanboom)
|
|
60
135
|
* `root` returns self if ancestry is invalid (thx @vanboom)
|
|
@@ -62,29 +137,29 @@ Both of these are better documented in [the readme](/README.md).
|
|
|
62
137
|
* oracleenhanced uses nulls first for sorting (thx @lual)
|
|
63
138
|
* fix counter cache and STI (thx @mattvague)
|
|
64
139
|
|
|
65
|
-
## Version [4.0.0] <sub><sup>2021-04-12</sub
|
|
140
|
+
## Version [4.0.0] <sub><sup>2021-04-12</sup></sub>
|
|
66
141
|
|
|
67
142
|
* dropped support for rails 4.2 and 5.0 (thx @d-m-u)
|
|
68
143
|
* better documentation counter cache option (thx @pustomytnyk)
|
|
69
144
|
* clean up code (thx @amatsuda @d-m-u)
|
|
70
|
-
* fixed rails 6.1 support (thx @cmr119 @d-staehler @danini-the-panini
|
|
145
|
+
* fixed rails 6.1 support (thx @cmr119 @d-staehler @danini-the-panini)
|
|
71
146
|
* phasing out `parent_id?`, `ancestors?` and using `has_parent?` instead
|
|
72
147
|
* fixed postgres order bug on rails 6.2 and higher (thx @smoyt)
|
|
73
148
|
|
|
74
|
-
## Version [3.2.1] <sub><sup>2020-09-23</sub
|
|
149
|
+
## Version [3.2.1] <sub><sup>2020-09-23</sup></sub>
|
|
75
150
|
|
|
76
151
|
* fixed gemspec to include locales and pg (thx @HectorMF)
|
|
77
152
|
|
|
78
|
-
## Version [3.2.0] <sub><sup>2020-09-23</sub
|
|
153
|
+
## Version [3.2.0] <sub><sup>2020-09-23</sup></sub>
|
|
79
154
|
|
|
80
155
|
* introduce i18n
|
|
81
156
|
* pg sql optimization for ancestry changes (thx @suonlight and @geis)
|
|
82
157
|
* pg sql optimization for sorting (thx @brendon and @d-m-u)
|
|
83
|
-
* fix to
|
|
158
|
+
* fix to humanize model name (thx @mkllnk)
|
|
84
159
|
* able to convert to ancestry from a parent_id column with a different name
|
|
85
160
|
* documentation fixes for better diagrams and grammar (thx @dtamais, @d-m-u, and @CamilleDrapier)
|
|
86
161
|
|
|
87
|
-
## Version [3.1.0] <sub><sup>2020-08-03</sub
|
|
162
|
+
## Version [3.1.0] <sub><sup>2020-08-03</sup></sub>
|
|
88
163
|
|
|
89
164
|
* `:primary_key_format` method lets you change syntax. good for uuids.
|
|
90
165
|
* changed code from being `ancestry` string to `ancestry_ids` focused. May break monkey patches.
|
|
@@ -93,40 +168,40 @@ Both of these are better documented in [the readme](/README.md).
|
|
|
93
168
|
* Better documentation for relationships (thnx @dtamai and @d-m-u)
|
|
94
169
|
* Fix creating children in `after_*` callbacks (thx @jstirk)
|
|
95
170
|
|
|
96
|
-
## Version [3.0.7] <sub><sup>2018-11-06</sub
|
|
171
|
+
## Version [3.0.7] <sub><sup>2018-11-06</sup></sub>
|
|
97
172
|
|
|
98
173
|
* Fixed rails 5.1 change detection (thx @jrafanie)
|
|
99
174
|
* Introduce counter cache (thx @hw676018683)
|
|
100
175
|
|
|
101
|
-
## Version [3.0.6] <sub><sup>2018-11-06</sub
|
|
176
|
+
## Version [3.0.6] <sub><sup>2018-11-06</sup></sub>
|
|
102
177
|
|
|
103
178
|
* Fixed rails 4.1 version check (thx @myxoh)
|
|
104
179
|
|
|
105
|
-
## Version [3.0.5] <sub><sup>2018-11-06</sub
|
|
180
|
+
## Version [3.0.5] <sub><sup>2018-11-06</sup></sub>
|
|
106
181
|
|
|
107
|
-
|
|
182
|
+
### Changed
|
|
108
183
|
|
|
109
184
|
* Added indirect children support (thx @tilo)
|
|
110
185
|
* Fixed test sorting for pg on mac osx
|
|
111
186
|
|
|
112
|
-
|
|
187
|
+
### Fixes
|
|
113
188
|
|
|
114
189
|
* Reduced memory footprint of parsing ancestry column (thx @NickLaMuro)
|
|
115
190
|
|
|
116
|
-
## Version [3.0.4] <sub><sup>2018-10-27</sub
|
|
191
|
+
## Version [3.0.4] <sub><sup>2018-10-27</sup></sub>
|
|
117
192
|
|
|
118
|
-
|
|
193
|
+
### Fixes
|
|
119
194
|
|
|
120
195
|
* Properly detects non-integer columns (thx @adam101)
|
|
121
196
|
* Arrange no longer drops nodes due to missing parents (thx @trafium)
|
|
122
197
|
|
|
123
|
-
## Version [3.0.3] <sub><sup>2018-10-23</sub
|
|
198
|
+
## Version [3.0.3] <sub><sup>2018-10-23</sup></sub>
|
|
124
199
|
|
|
125
200
|
This branch (3.x) should still be compatible with rails 3 and 4.
|
|
126
201
|
Rails 5.1 and 5.2 support were introduced in this version, but ongoing support
|
|
127
202
|
has been moved to ancestry 4.0
|
|
128
203
|
|
|
129
|
-
|
|
204
|
+
### Fixes
|
|
130
205
|
|
|
131
206
|
* Reduce object allocation (thx @NickLaMuro)
|
|
132
207
|
* Rails 5.1 fixes (thx @ctrombley)
|
|
@@ -136,9 +211,9 @@ has been moved to ancestry 4.0
|
|
|
136
211
|
* Dropped builds for ruby 1.9.3, 2.0, 2.1, and 2.2
|
|
137
212
|
* Dropped builds for Rails 3.x and 4.x (will use Active Record `or` syntax)
|
|
138
213
|
|
|
139
|
-
## Version [3.0.2] <sub><sup>2018-04-24</sub
|
|
214
|
+
## Version [3.0.2] <sub><sup>2018-04-24</sup></sub>
|
|
140
215
|
|
|
141
|
-
|
|
216
|
+
### Fixes
|
|
142
217
|
|
|
143
218
|
* fixed `order_by_ancestry` bug
|
|
144
219
|
* fixed order tests for postgres on mac (it uses a different collation)
|
|
@@ -146,9 +221,9 @@ has been moved to ancestry 4.0
|
|
|
146
221
|
* added missing `Ancestry::version`
|
|
147
222
|
* added Rails 5.2 support (thx @jjuliano)
|
|
148
223
|
|
|
149
|
-
## Version [3.0.1] <sub><sup>2017-07-05</sub
|
|
224
|
+
## Version [3.0.1] <sub><sup>2017-07-05</sup></sub>
|
|
150
225
|
|
|
151
|
-
|
|
226
|
+
### Fixes
|
|
152
227
|
|
|
153
228
|
* added gem metadata
|
|
154
229
|
* fixed keep a changelog link (thx @mattbrictson)
|
|
@@ -157,14 +232,14 @@ has been moved to ancestry 4.0
|
|
|
157
232
|
* fixed tests on mysql 5.7 and rails 3.2
|
|
158
233
|
* Dropped 3.1 scope changes
|
|
159
234
|
|
|
160
|
-
## Version [3.0.0] <sub><sup>2017-05-18</sub
|
|
235
|
+
## Version [3.0.0] <sub><sup>2017-05-18</sup></sub>
|
|
161
236
|
|
|
162
|
-
|
|
237
|
+
### Changed
|
|
163
238
|
|
|
164
239
|
* Dropping Rails 3.0, and 3.1. Added Rails 5.1 support (thx @ledermann)
|
|
165
240
|
* Dropping Rails 4.0, 4.1 for build reasons. Since 4.2 is supported, all 4.x should still work.
|
|
166
241
|
|
|
167
|
-
|
|
242
|
+
### Fixes
|
|
168
243
|
|
|
169
244
|
* Performance: Use `pluck` vs `map` for ids (thx @njakobsen and @culturecode)
|
|
170
245
|
* Fixed acts_as_tree compatibility (thx @crazymykl)
|
|
@@ -173,7 +248,7 @@ has been moved to ancestry 4.0
|
|
|
173
248
|
* Properly touches parents when different class for STI (thx @samtgarson)
|
|
174
249
|
* Fixed issues with parent_id (only present on master) (thx @domcleal)
|
|
175
250
|
|
|
176
|
-
## Version [2.2.2] <sub><sup>2016-11-01</sub
|
|
251
|
+
## Version [2.2.2] <sub><sup>2016-11-01</sup></sub>
|
|
177
252
|
|
|
178
253
|
### Changed
|
|
179
254
|
|
|
@@ -181,22 +256,25 @@ has been moved to ancestry 4.0
|
|
|
181
256
|
* Fixed bug with explicit order clauses (introduced in 2.2.0)
|
|
182
257
|
* No longer load schema on `has_ancestry` load (thx @ledermann)
|
|
183
258
|
|
|
184
|
-
## Version [2.2.1] <sub><sup>2016-10-25</sub
|
|
259
|
+
## Version [2.2.1] <sub><sup>2016-10-25</sup></sub>
|
|
185
260
|
|
|
186
261
|
Sorry for blip, local master got out of sync with upstream master.
|
|
187
262
|
Missed 2 commits (which are feature adds)
|
|
188
263
|
|
|
189
264
|
### Added
|
|
265
|
+
|
|
190
266
|
* Use like (vs ilike) for rails 5.0 (performance enhancement)
|
|
191
267
|
* Use `COALESCE` for sorting on pg, mysql, and sqlite vs `CASE`
|
|
192
268
|
|
|
193
|
-
## Version [2.2.0] <sub><sup>2016-10-25</sub
|
|
269
|
+
## Version [2.2.0] <sub><sup>2016-10-25</sup></sub>
|
|
194
270
|
|
|
195
271
|
### Added
|
|
272
|
+
|
|
196
273
|
* Predicates for scopes: e.g.: `ancestor_of?`, `parent_of?` (thx @neglectedvalue)
|
|
197
274
|
* Scope `path_of`
|
|
198
275
|
|
|
199
276
|
### Changed
|
|
277
|
+
|
|
200
278
|
* `arrange` now accepts blocks (thx @mastfish)
|
|
201
279
|
* Performance tuning `arrange_node` (thx @fryguy)
|
|
202
280
|
* In orphan strategy, set `ancestry` to `nil` for no parents (thx @haslinger)
|
|
@@ -205,7 +283,8 @@ Missed 2 commits (which are feature adds)
|
|
|
205
283
|
* Upgrading tests for ruby versions (thx @brocktimus, @fryguy, @yui-knk)
|
|
206
284
|
* Fix non-default ancestry not getting used properly (thx @javiyu)
|
|
207
285
|
|
|
208
|
-
## Version [2.1.0] <sub><sup>2014-04-16</sub
|
|
286
|
+
## Version [2.1.0] <sub><sup>2014-04-16</sup></sub>
|
|
287
|
+
|
|
209
288
|
* Added arrange_serializable (thx @krishandley, @chicagogrrl)
|
|
210
289
|
* Add the :touch to update ancestors on save (thx @adammck)
|
|
211
290
|
* Change conditions into arel (thx @mlitwiniuk)
|
|
@@ -214,7 +293,8 @@ Missed 2 commits (which are feature adds)
|
|
|
214
293
|
* Performance tweak (thx @mjc)
|
|
215
294
|
* Improvements to organization (thx @xsuchy, @ryakh)
|
|
216
295
|
|
|
217
|
-
## Version [2.0.0] <sub><sup>2013-05-17</sub
|
|
296
|
+
## Version [2.0.0] <sub><sup>2013-05-17</sup></sub>
|
|
297
|
+
|
|
218
298
|
* Removed rails 2 compatibility
|
|
219
299
|
* Added table name to condition constructing methods (thx @aflatter)
|
|
220
300
|
* Fix depth_cache not being updated when moving up to ancestors (thx @scottatron)
|
|
@@ -226,34 +306,40 @@ Missed 2 commits (which are feature adds)
|
|
|
226
306
|
* New adopt strategy (thx unknown)
|
|
227
307
|
* Many more improvements
|
|
228
308
|
|
|
229
|
-
## Version [1.3.0] <sub><sup>2012-05-04</sub
|
|
309
|
+
## Version [1.3.0] <sub><sup>2012-05-04</sup></sub>
|
|
310
|
+
|
|
230
311
|
* Ancestry now ignores default scopes when moving or destroying nodes, ensuring tree consistency
|
|
231
312
|
* Changed ActiveRecord dependency to 2.3.14
|
|
232
313
|
|
|
233
|
-
## Version [1.2.5] <sub><sup>2012-03-15</sub
|
|
314
|
+
## Version [1.2.5] <sub><sup>2012-03-15</sup></sub>
|
|
315
|
+
|
|
234
316
|
* Fixed warnings: "parenthesize argument(s) for future version"
|
|
235
317
|
* Fixed a bug in the restore_ancestry_integrity! method (thx Arthur Holstvoogd)
|
|
236
318
|
|
|
237
|
-
## Version [1.2.4] <sub><sup>2011-04-22</sub
|
|
319
|
+
## Version [1.2.4] <sub><sup>2011-04-22</sup></sub>
|
|
320
|
+
|
|
238
321
|
* Prepended table names to column names in queries (thx @raelik)
|
|
239
322
|
* Better check to see if acts_as_tree can be overloaded (thx @jims)
|
|
240
|
-
* Performance
|
|
323
|
+
* Performance improvements (thx @kueda)
|
|
324
|
+
|
|
325
|
+
## Version [1.2.3] <sub><sup>2010-10-28</sup></sub>
|
|
241
326
|
|
|
242
|
-
## Version [1.2.3] <sub><sup>2010-10-28</sub></sup>
|
|
243
327
|
* Fixed error with determining ActiveRecord version
|
|
244
328
|
* Added option to specify :primary_key_format (thx @rolftimmermans)
|
|
245
329
|
|
|
246
|
-
## Version [1.2.2] <sub><sup>2010-10-24</sub
|
|
330
|
+
## Version [1.2.2] <sub><sup>2010-10-24</sup></sub>
|
|
331
|
+
|
|
247
332
|
* Fixed all deprecation warnings for rails 3.0.X
|
|
248
333
|
* Added `:report` option to `check_ancestry_integrity!`
|
|
249
334
|
* Changed ActiveRecord dependency to 2.2.2
|
|
250
335
|
* Tested and fixed for ruby 1.8.7 and 1.9.2
|
|
251
336
|
* Changed usage of `update_attributes` to `update_attribute` to allow ancestry column protection
|
|
252
337
|
|
|
253
|
-
## Version [1.2.0] <sub><sup>2009-11-07</sub
|
|
338
|
+
## Version [1.2.0] <sub><sup>2009-11-07</sup></sub>
|
|
339
|
+
|
|
254
340
|
* Removed some duplication in has_ancestry
|
|
255
341
|
* Cleaned up plugin pattern according to http://yehudakatz.com/2009/11/12/better-ruby-idioms/
|
|
256
|
-
* Moved parts of ancestry into
|
|
342
|
+
* Moved parts of ancestry into separate files
|
|
257
343
|
* Made it possible to pass options into the arrange method
|
|
258
344
|
* Renamed acts_as_tree to has_ancestry
|
|
259
345
|
* Aliased has_ancestry as acts_as_tree if acts_as_tree is available
|
|
@@ -261,46 +347,52 @@ Missed 2 commits (which are feature adds)
|
|
|
261
347
|
* Updated ordered_by_ancestry scope to support Microsoft SQL Server
|
|
262
348
|
* Added empty hash as parameter to exists? calls for older ActiveRecord versions
|
|
263
349
|
|
|
264
|
-
## Version [1.1.4] <sub><sup>2009-11-07</sub
|
|
350
|
+
## Version [1.1.4] <sub><sup>2009-11-07</sup></sub>
|
|
351
|
+
|
|
265
352
|
* Thanks to a patch from tom taylor, Ancestry now works with different primary keys
|
|
266
353
|
|
|
267
|
-
## Version [1.1.3] <sub><sup>2009-11-01</sub
|
|
354
|
+
## Version [1.1.3] <sub><sup>2009-11-01</sup></sub>
|
|
355
|
+
|
|
268
356
|
* Fixed a pretty bad bug where several operations took far too many queries
|
|
269
357
|
|
|
270
|
-
## Version [1.1.2] <sub><sup>2009-10-29</sub
|
|
358
|
+
## Version [1.1.2] <sub><sup>2009-10-29</sup></sub>
|
|
359
|
+
|
|
271
360
|
* Added validation for depth cache column
|
|
272
361
|
* Added STI support (reported broken)
|
|
273
362
|
|
|
274
|
-
## Version [1.1.1] <sub><sup>2009-10-28</sub
|
|
363
|
+
## Version [1.1.1] <sub><sup>2009-10-28</sup></sub>
|
|
364
|
+
|
|
275
365
|
* Fixed some parentheses warnings that where reported
|
|
276
366
|
* Fixed a reported issue with arrangement
|
|
277
367
|
* Fixed issues with ancestors and path order on postgres
|
|
278
368
|
* Added ordered_by_ancestry scope (needed to fix issues)
|
|
279
369
|
|
|
280
|
-
## Version [1.1.0] <sub><sup>2009-10-22</sub
|
|
370
|
+
## Version [1.1.0] <sub><sup>2009-10-22</sup></sub>
|
|
371
|
+
|
|
281
372
|
* Depth caching (and cache rebuilding)
|
|
282
373
|
* Depth method for nodes
|
|
283
374
|
* Named scopes for selecting by depth
|
|
284
|
-
* Relative depth options for tree navigation methods:
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
375
|
+
* Relative depth options for tree navigation methods:
|
|
376
|
+
* ancestors
|
|
377
|
+
* path
|
|
378
|
+
* descendants
|
|
379
|
+
* descendant_ids
|
|
380
|
+
* subtree
|
|
381
|
+
* subtree_ids
|
|
291
382
|
* Updated README
|
|
292
383
|
* Easy migration from existing plugins/gems
|
|
293
384
|
* acts_as_tree checks unknown options
|
|
294
385
|
* acts_as_tree checks that options are hash
|
|
295
386
|
* Added a bang (!) to the integrity functions
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
387
|
+
* Since these functions should only be used from ./script/console and not
|
|
388
|
+
from your application, this change is not considered as breaking backwards
|
|
389
|
+
compatibility and the major version wasn't bumped.
|
|
299
390
|
* Updated install script to point to documentation
|
|
300
391
|
* Removed rails specific init
|
|
301
392
|
* Removed uninstall script
|
|
302
393
|
|
|
303
|
-
## Version 1.0.0 <sub><sup>2009-10-16</sub
|
|
394
|
+
## Version 1.0.0 <sub><sup>2009-10-16</sup></sub>
|
|
395
|
+
|
|
304
396
|
* Initial version
|
|
305
397
|
* Tree building
|
|
306
398
|
* Tree navigation
|
|
@@ -311,8 +403,12 @@ Missed 2 commits (which are feature adds)
|
|
|
311
403
|
* Named scopes
|
|
312
404
|
* Validations
|
|
313
405
|
|
|
314
|
-
|
|
315
|
-
[
|
|
406
|
+
[HEAD]: https://github.com/stefankroes/ancestry/compare/v5.1.0...HEAD
|
|
407
|
+
[5.1.0]: https://github.com/stefankroes/ancestry/compare/v5.0.0...v5.1.0
|
|
408
|
+
[5.0.0]: https://github.com/stefankroes/ancestry/compare/v4.3.3...v5.0.0
|
|
409
|
+
[4.3.3]: https://github.com/stefankroes/ancestry/compare/v4.3.2...v4.3.3
|
|
410
|
+
[4.3.2]: https://github.com/stefankroes/ancestry/compare/v4.3.1...v4.3.2
|
|
411
|
+
[4.3.1]: https://github.com/stefankroes/ancestry/compare/v4.3.0...v4.3.1
|
|
316
412
|
[4.3.0]: https://github.com/stefankroes/ancestry/compare/v4.2.0...v4.3.0
|
|
317
413
|
[4.2.0]: https://github.com/stefankroes/ancestry/compare/v4.1.0...v4.2.0
|
|
318
414
|
[4.1.0]: https://github.com/stefankroes/ancestry/compare/v4.0.0...v4.1.0
|