annotate lib/plugins/awesome_nested_set/spec/support/models.rb @ 1465:ab8bd24eeb65 bug_635

Close obsolete branch bug_635
author Chris Cannam
date Fri, 19 Jul 2013 12:13:20 +0100
parents 433d4f72a19b
children
rev   line source
Chris@1115 1 class Note < ActiveRecord::Base
Chris@1115 2 acts_as_nested_set :scope => [:notable_id, :notable_type]
Chris@1115 3 end
Chris@1115 4
Chris@1115 5 class Default < ActiveRecord::Base
Chris@1115 6 self.table_name = 'categories'
Chris@1115 7 acts_as_nested_set
Chris@1115 8 end
Chris@1115 9
Chris@1115 10 class ScopedCategory < ActiveRecord::Base
Chris@1115 11 self.table_name = 'categories'
Chris@1115 12 acts_as_nested_set :scope => :organization
Chris@1115 13 end
Chris@1115 14
Chris@1115 15 class RenamedColumns < ActiveRecord::Base
Chris@1115 16 acts_as_nested_set :parent_column => 'mother_id', :left_column => 'red', :right_column => 'black'
Chris@1115 17 end
Chris@1115 18
Chris@1115 19 class Category < ActiveRecord::Base
Chris@1115 20 acts_as_nested_set
Chris@1115 21
Chris@1115 22 validates_presence_of :name
Chris@1115 23
Chris@1115 24 # Setup a callback that we can switch to true or false per-test
Chris@1115 25 set_callback :move, :before, :custom_before_move
Chris@1115 26 cattr_accessor :test_allows_move
Chris@1115 27 @@test_allows_move = true
Chris@1115 28 def custom_before_move
Chris@1115 29 @@test_allows_move
Chris@1115 30 end
Chris@1115 31
Chris@1115 32 def to_s
Chris@1115 33 name
Chris@1115 34 end
Chris@1115 35
Chris@1115 36 def recurse &block
Chris@1115 37 block.call self, lambda{
Chris@1115 38 self.children.each do |child|
Chris@1115 39 child.recurse &block
Chris@1115 40 end
Chris@1115 41 }
Chris@1115 42 end
Chris@1115 43 end
Chris@1115 44
Chris@1115 45 class Thing < ActiveRecord::Base
Chris@1115 46 acts_as_nested_set :counter_cache => 'children_count'
Chris@1115 47 end
Chris@1115 48
Chris@1115 49 class DefaultWithCallbacks < ActiveRecord::Base
Chris@1115 50
Chris@1115 51 self.table_name = 'categories'
Chris@1115 52
Chris@1115 53 attr_accessor :before_add, :after_add, :before_remove, :after_remove
Chris@1115 54
Chris@1115 55 acts_as_nested_set :before_add => :do_before_add_stuff,
Chris@1115 56 :after_add => :do_after_add_stuff,
Chris@1115 57 :before_remove => :do_before_remove_stuff,
Chris@1115 58 :after_remove => :do_after_remove_stuff
Chris@1115 59
Chris@1115 60 private
Chris@1115 61
Chris@1115 62 [ :before_add, :after_add, :before_remove, :after_remove ].each do |hook_name|
Chris@1115 63 define_method "do_#{hook_name}_stuff" do |child_node|
Chris@1115 64 self.send("#{hook_name}=", child_node)
Chris@1115 65 end
Chris@1115 66 end
Chris@1115 67
Chris@1115 68 end
Chris@1115 69
Chris@1115 70 class Broken < ActiveRecord::Base
Chris@1115 71 acts_as_nested_set
Chris@1115 72 end