To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.
root / .svn / pristine / 04 / 043366b6d2160c545cba1a2e40dbe400262cc0d0.svn-base @ 1298:4f746d8966dd
History | View | Annotate | Download (1.71 KB)
| 1 |
class Note < ActiveRecord::Base |
|---|---|
| 2 |
acts_as_nested_set :scope => [:notable_id, :notable_type] |
| 3 |
end |
| 4 |
|
| 5 |
class Default < ActiveRecord::Base |
| 6 |
self.table_name = 'categories' |
| 7 |
acts_as_nested_set |
| 8 |
end |
| 9 |
|
| 10 |
class ScopedCategory < ActiveRecord::Base |
| 11 |
self.table_name = 'categories' |
| 12 |
acts_as_nested_set :scope => :organization |
| 13 |
end |
| 14 |
|
| 15 |
class RenamedColumns < ActiveRecord::Base |
| 16 |
acts_as_nested_set :parent_column => 'mother_id', :left_column => 'red', :right_column => 'black' |
| 17 |
end |
| 18 |
|
| 19 |
class Category < ActiveRecord::Base |
| 20 |
acts_as_nested_set |
| 21 |
|
| 22 |
validates_presence_of :name |
| 23 |
|
| 24 |
# Setup a callback that we can switch to true or false per-test |
| 25 |
set_callback :move, :before, :custom_before_move |
| 26 |
cattr_accessor :test_allows_move |
| 27 |
@@test_allows_move = true |
| 28 |
def custom_before_move |
| 29 |
@@test_allows_move |
| 30 |
end |
| 31 |
|
| 32 |
def to_s |
| 33 |
name |
| 34 |
end |
| 35 |
|
| 36 |
def recurse &block |
| 37 |
block.call self, lambda{
|
| 38 |
self.children.each do |child| |
| 39 |
child.recurse &block |
| 40 |
end |
| 41 |
} |
| 42 |
end |
| 43 |
end |
| 44 |
|
| 45 |
class Thing < ActiveRecord::Base |
| 46 |
acts_as_nested_set :counter_cache => 'children_count' |
| 47 |
end |
| 48 |
|
| 49 |
class DefaultWithCallbacks < ActiveRecord::Base |
| 50 |
|
| 51 |
self.table_name = 'categories' |
| 52 |
|
| 53 |
attr_accessor :before_add, :after_add, :before_remove, :after_remove |
| 54 |
|
| 55 |
acts_as_nested_set :before_add => :do_before_add_stuff, |
| 56 |
:after_add => :do_after_add_stuff, |
| 57 |
:before_remove => :do_before_remove_stuff, |
| 58 |
:after_remove => :do_after_remove_stuff |
| 59 |
|
| 60 |
private |
| 61 |
|
| 62 |
[ :before_add, :after_add, :before_remove, :after_remove ].each do |hook_name| |
| 63 |
define_method "do_#{hook_name}_stuff" do |child_node|
|
| 64 |
self.send("#{hook_name}=", child_node)
|
| 65 |
end |
| 66 |
end |
| 67 |
|
| 68 |
end |
| 69 |
|
| 70 |
class Broken < ActiveRecord::Base |
| 71 |
acts_as_nested_set |
| 72 |
end |