end
def self._owner_model
- t = self.my_manifest.tree['owner']
- return nil unless t
- t.parent_model
+ self.parent_model
end
def self._owner_column
- self.owner_type.to_s + '_id'
+ self._owner_type.to_s + '_id'
end
def self.load_manifest
super
# Class Methods
- f = self._content?
+ ct = self._content?
define_singleton_method("content?") do
- f
+ ct
end
- t = self._owner_type
+ ot = self._owner_type
define_singleton_method("owner_type") do
- t
+ ot
end
- m = self._owner_model
+ om = self._owner_model
define_singleton_method("owner_model") do
- m
+ om
end
- define_singleton_method("parent_model") do |tree_name|
- self.my_manifest.tree[tree_name].parent_model
- end
- o = self._owner_column
+ oc = self._owner_column
define_singleton_method("owner_column") do
- o
- end
- define_singleton_method("child_models") do |tree_name|
- self.my_manifest.child_models tree_name
+ oc
end
# Instance Methods
- define_method("parent_model") do |tree_name|
- self.__send__ self.class.parent_model(tree_name).item_name
- end
define_method("elements") do |tree_name|
self.my_manifest.child_element_names(tree_name).map {|element_name|
self.__send__ element_name
raise ActiveRecord::Forbidden unless content.own?(operators)
content
end
+
# Instance Methods
def owner_model
self.class.owner_model ? self.__send__(self.class.owner_model.item_name) : self
end
+ # super return if my item
def visible? operators
super
- return true if owner_model.own?(operators)
+ return nil if owner_model.own?(operators)
true
end