Sha256: 77cb6a80884c9342276fb7c96d4dea61a32ab43c2188ce20b5857fba29f46391
Contents?: true
Size: 1.31 KB
Versions: 3
Compression:
Stored size: 1.31 KB
Contents
# # This mixin adds methods to special groups that are related to the role model. # module GroupMixins::Roles extend ActiveSupport::Concern included do end # Officers somehow administrate structureable objects, e.g. groups or pages. # They may be admins, main_admins, editors or another kind of officer. # # This method returns the object that is administrated by the officers that are in this # group (self) if this is an officer group. # # some_group # |------- another_group <---------------------------- this group is returned # |-------- officers # |---- admins # |--- main_admins # # main_admins.administrated_object == another_group # admins.administrated_object == another_group # officers.administrated_object == another_group # another_group.administrated_object == nil # some_group.administrated_object == nil # def administrated_object if self.ancestor_groups.find_all_by_flag( :officers_parent ).count == 0 and not self.has_flag? :officers_parent return nil end object = self until object.has_flag? :officers_parent object = object.parents.first end object = object.parents.first end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
your_platform-1.0.1 | app/models/group_mixins/roles.rb |
your_platform-1.0.0 | app/models/group_mixins/roles.rb |
your_platform-0.0.2 | app/models/group_mixins/roles.rb |