Sha256: 093f5af9d7f6c8fd5b8a875358e507d183f99c4fb3c1fbd8840409f7d4753ae2
Contents?: true
Size: 860 Bytes
Versions: 5
Compression:
Stored size: 860 Bytes
Contents
module GroupedPage def self.included(base) base.class_eval { has_groups has_one :homegroup, :foreign_key => 'homepage_id', :class_name => 'Group' include InstanceMethods alias_method_chain :permitted_groups, :inheritance } end module InstanceMethods attr_reader :inherited_groups def inherited_groups @inherited_groups ||= self.parent ? Group.attached_to(self.ancestors) : [] end def permitted_groups_with_inheritance permitted_groups_without_inheritance + inherited_groups end def cache? self.permitted_groups.empty? end def has_inherited_group?(group) return self.inherited_groups.include?(group) end def group_is_inherited?(group) return self.has_inherited_group?(group) && !self.has_group?(group) end end end
Version data entries
5 entries across 5 versions & 2 rubygems