3 self.abstract_class = true
8 self.my_manifest.content_model
12 self.my_manifest.owner_type
19 def self._owner_column
20 self._owner_type.to_s + '_id'
23 def self.load_manifest
27 define_singleton_method("content?") do
31 define_singleton_method("owner_type") do
34 om = self._owner_model
35 define_singleton_method("owner_model") do
38 oc = self._owner_column
39 define_singleton_method("owner_column") do
43 define_method("elements") do |tree_name|
44 self.my_manifest.child_element_names(tree_name).map {|element_name|
45 self.__send__ element_name
52 def self.operator operators
53 return nil unless self.owner_type
54 operators.__send__ self.owner_type
57 def self.public_list_where
61 def self.edit content_id, operators
62 content = self.find content_id, self.show_opt
63 raise ActiveRecord::Forbidden unless content.own?(operators)
70 self.class.owner_model ? self.__send__(self.class.owner_model.item_name) : self
73 # super return if my item
74 def visible? operators
76 return nil if owner_model.own?(operators)
81 operator = self.class.operator operators
82 return false unless operator
83 owner_model.attributes[self.class.owner_column] == operator.id