3 self.abstract_class = true
8 self.my_manifest.content_model
12 self.my_manifest.owner_type
16 t = self.my_manifest.tree['owner']
21 def self._owner_column
22 self.owner_type.to_s + '_id'
25 def self.load_manifest
28 define_singleton_method("content?") do
32 define_singleton_method("owner_type") do
36 define_singleton_method("owner_model") do
39 define_singleton_method("parent_model") do |tree_name|
40 self.my_manifest.tree[tree_name].parent_model
42 o = self._owner_column
43 define_singleton_method("owner_column") do
50 def self.operator operators
51 return nil unless self.owner_type
52 operators.__send__ self.owner_type
55 def self.public_list_where
59 def self.edit content_id, operators
60 content = self.find content_id, self.show_opt
61 raise ActiveRecord::Forbidden unless content.own?(operators)
67 self.class.owner_model ? self.__send__(self.class.owner_model.item_name) : self
70 def visible? operators
72 return true if owner_model.own?(operators)
77 operator = self.class.operator operators
78 return false unless operator
79 owner_model.attributes[self.class.owner_column] == operator.id