summaryrefslogtreecommitdiffstats
path: root/lib/plugins/awesome_nested_set/spec/support
diff options
context:
space:
mode:
authorToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-03-26 01:47:14 +0000
committerToshi MARUYAMA <marutosijp2@yahoo.co.jp>2014-03-26 01:47:14 +0000
commitd1057bc4ad66088d73fd48a89c9712c7dd119250 (patch)
tree87d7c7b8aac3816f1c0b680b87a4fc2a120a5d21 /lib/plugins/awesome_nested_set/spec/support
parent560bfa6d87aa4c0870b573de3a472532a0e7924b (diff)
downloadredmine-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')
-rw-r--r--lib/plugins/awesome_nested_set/spec/support/models.rb96
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