diff options
author | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2014-03-26 01:47:14 +0000 |
---|---|---|
committer | Toshi MARUYAMA <marutosijp2@yahoo.co.jp> | 2014-03-26 01:47:14 +0000 |
commit | d1057bc4ad66088d73fd48a89c9712c7dd119250 (patch) | |
tree | 87d7c7b8aac3816f1c0b680b87a4fc2a120a5d21 /lib/plugins/awesome_nested_set/spec/support/models.rb | |
parent | 560bfa6d87aa4c0870b573de3a472532a0e7924b (diff) | |
download | redmine-d1057bc4ad66088d73fd48a89c9712c7dd119250.tar.gz redmine-d1057bc4ad66088d73fd48a89c9712c7dd119250.zip |
import awesome_nested_set 2.1.6 (#6579)
https://github.com/collectiveidea/awesome_nested_set/commit/64cc8bc8cf93e8859a21bcf25c36675080e42ce6
git-svn-id: http://svn.redmine.org/redmine/trunk@13007 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib/plugins/awesome_nested_set/spec/support/models.rb')
-rw-r--r-- | lib/plugins/awesome_nested_set/spec/support/models.rb | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/lib/plugins/awesome_nested_set/spec/support/models.rb b/lib/plugins/awesome_nested_set/spec/support/models.rb new file mode 100644 index 000000000..c54ff3e2c --- /dev/null +++ b/lib/plugins/awesome_nested_set/spec/support/models.rb @@ -0,0 +1,96 @@ +class Note < ActiveRecord::Base + acts_as_nested_set :scope => [:notable_id, :notable_type] +end + +class Default < ActiveRecord::Base + self.table_name = 'categories' + acts_as_nested_set +end + +class ScopedCategory < ActiveRecord::Base + self.table_name = 'categories' + acts_as_nested_set :scope => :organization +end + +class OrderedCategory < ActiveRecord::Base + self.table_name = 'categories' + acts_as_nested_set :order_column => 'name' +end + +class RenamedColumns < ActiveRecord::Base + acts_as_nested_set :parent_column => 'mother_id', + :left_column => 'red', + :right_column => 'black', + :depth_column => 'pitch' +end + +class Category < ActiveRecord::Base + acts_as_nested_set + + validates_presence_of :name + + # Setup a callback that we can switch to true or false per-test + set_callback :move, :before, :custom_before_move + cattr_accessor :test_allows_move + @@test_allows_move = true + def custom_before_move + @@test_allows_move + end + + def to_s + name + end + + def recurse &block + block.call self, lambda{ + self.children.each do |child| + child.recurse &block + end + } + end +end + +class Thing < ActiveRecord::Base + acts_as_nested_set :counter_cache => 'children_count' +end + +class DefaultWithCallbacks < ActiveRecord::Base + + self.table_name = 'categories' + + attr_accessor :before_add, :after_add, :before_remove, :after_remove + + acts_as_nested_set :before_add => :do_before_add_stuff, + :after_add => :do_after_add_stuff, + :before_remove => :do_before_remove_stuff, + :after_remove => :do_after_remove_stuff + + private + + [ :before_add, :after_add, :before_remove, :after_remove ].each do |hook_name| + define_method "do_#{hook_name}_stuff" do |child_node| + self.send("#{hook_name}=", child_node) + end + end + +end + +class Broken < ActiveRecord::Base + acts_as_nested_set +end + +class Order < ActiveRecord::Base + acts_as_nested_set + + default_scope order(:name) +end + +class Position < ActiveRecord::Base + acts_as_nested_set + + default_scope order(:position) +end + +class NoDepth < ActiveRecord::Base + acts_as_nested_set +end |