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