X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=lib%2Fpeta%2Felement.rb;h=7f24d983bf06cc938089b3b3ef26babe3f4a3572;hb=dd27a72936fade940b28c2088d520fc264db842a;hp=e1abd935a5cfeafeb3176575f3408b22d9e512ef;hpb=ab363270a3eeba7f22b2230e68a017775a1fc7ff;p=pettanr%2Fpettanr.git diff --git a/lib/peta/element.rb b/lib/peta/element.rb index e1abd935..7f24d983 100644 --- a/lib/peta/element.rb +++ b/lib/peta/element.rb @@ -20,12 +20,36 @@ module Peta def self.root_model if self.parent_model - self.parent_model.root_model + if self.parent_model.element? + self.parent_model.root_model + else + self.parent_model + end else self end end + # Instance Methods + + def root + pm = self.__send__ self.class.parent_model.item_name + if pm.class.element? + pm.root + else + pm + end + end + + def own? operators + self.root.own? operators + end + + def visible? operators + return false unless self.user_visible? operators + self.root.visible? operators + end + def self.list_opt_for_panel {} end