README.md in closure_tree-4.4.0 vs README.md in closure_tree-4.5.0
- old
+ new
@@ -23,11 +23,11 @@
* Fetch all [descendants as a nested hash](#nested-hashes) in 1 SELECT.
* [Find a node by ancestry path](#find_or_create_by_path) in 1 SELECT.
* __Best-in-class mutation performance__:
* 2 SQL INSERTs on node creation
* 3 SQL INSERT/UPDATEs on node reparenting
-* __Support for Rails 3.1, 3.2, 4.0, and 4.1__
+* __Support for Rails 3.2, 4.0, and 4.1__
* Support for reparenting children (and all their descendants)
* Support for [concurrency](#concurrency) (using [with_advisory_lock](https://github.com/mceachen/with_advisory_lock))
* Support for polymorphism [STI](#sti) within the hierarchy
* ```find_or_create_by_path``` for [building out hierarchies quickly and conveniently](#find_or_create_by_path)
* Support for [deterministic ordering](#deterministic-ordering) of children
@@ -51,11 +51,11 @@
- [Testing](#testing)
- [Change log](#change-log)
## Installation
-Note that closure_tree only supports Rails 3.0 and later, and has test coverage for MySQL, PostgreSQL, and SQLite.
+Note that closure_tree only supports Rails 3.2 and later, and has test coverage for MySQL, PostgreSQL, and SQLite.
1. Add this to your Gemfile: ```gem 'closure_tree'```
2. Run ```bundle install```
@@ -241,11 +241,11 @@
### Available options
When you include ```acts_as_tree``` in your model, you can provide a hash to override the following defaults:
* ```:parent_column_name``` to override the column name of the parent foreign key in the model's table. This defaults to "parent_id".
-* ```:hierarchy_table_name``` to override the hierarchy class name. This defaults to the singular name of the model + "Hierarchy", like ```TagHierarchy```.
+* ```:hierarchy_class_name``` to override the hierarchy class name. This defaults to the singular name of the model + "Hierarchy", like ```TagHierarchy```.
* ```:hierarchy_table_name``` to override the hierarchy table name. This defaults to the singular name of the model + "_hierarchies", like ```tag_hierarchies```.
* ```:dependent``` determines what happens when a node is destroyed. Defaults to ```nullify```.
* ```:nullify``` will simply set the parent column to null. Each child node will be considered a "root" node. This is the default.
* ```:delete_all``` will delete all descendant nodes (which circumvents the destroy hooks)
* ```:destroy``` will destroy all descendant nodes (which runs the destroy hooks on each child node)
@@ -435,10 +435,14 @@
database with multiple threads, and don't provide an alternative mutex.
## FAQ
+### Does this work well with ```#default_scope```?
+
+No. Please see [issue 86](https://github.com/mceachen/closure_tree/issues/86) for details.
+
### Does this gem support multiple parents?
No. This gem's API is based on the assumption that each node has either 0 or 1 parent.
The underlying closure tree structure will support multiple parents, but there would be many
@@ -482,17 +486,16 @@
## Testing
Closure tree is [tested under every valid combination](http://travis-ci.org/#!/mceachen/closure_tree) of
-* Ruby 1.9.3 and Ruby 2.0.0
-* The latest Rails 3.1, 3.2, 4.0, and 4.1 branches, and
-* MySQL and PostgreSQL. SQLite works in a single-threaded environment.
+* Ruby 1.9.3 , 2.0.0 and 2.1.2
+* Rubinius 2.2.6
+* The latest Rails 3.2, 4.0, 4.1 and master branches
+* Concurrency tests for MySQL and PostgreSQL. SQLite works in a single-threaded environment.
Assuming you're using [rbenv](https://github.com/sstephenson/rbenv), you can use ```tests.sh``` to
run the test matrix locally.
-
-Parallelism is not tested with Rails 3.1.x due to this [known issue](https://github.com/rails/rails/issues/7538).
## Change log
See https://github.com/mceachen/closure_tree/blob/master/CHANGELOG.md