Sha256: f3d82eb7615fa5873ef93a1386c3331a977bfac26b74e7f2d3d0b1e744ad1c20
Contents?: true
Size: 896 Bytes
Versions: 2
Compression:
Stored size: 896 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 # this is regrettably expensive 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
radiant-reader-extension-3.0.0.rc4 | lib/grouped_page.rb |
radiant-reader-extension-3.0.0.rc3 | lib/grouped_page.rb |