Sha256: 224d661a34a92588112dc0beabcd4712845d1df0b162e32161cc67821eeedb49

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

#
# There are certain gloabl special groups, for example the `developers` group, which contains
# all users.
#
# The global accessors for these groups, e.g. `Group.find_developers_group` or 
# `Group.developers` for short, are defined in this mixin.
#
# The mechanism used by this mixin is defined in `StructureableMixins::HasSpecialGroups`.
#
module GroupMixins::Developers

  extend ActiveSupport::Concern

  # Developers
  # ==========================================================================================
  #
  # The group where all developers are members of.
  #
  module ClassMethods
    def find_developers_group
      find_special_group(:developers)
    end
    
    def create_developers_group
      create_special_group(:developers)
    end

    def find_or_create_developers_group
      find_or_create_special_group(:developers)
    end
    
    def developers
      find_or_create_developers_group
    end
    
    def developers!
      find_developers_group || raise('special group :developers does not exist.')
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
your_platform-1.0.1 app/models/group_mixins/developers.rb
your_platform-1.0.0 app/models/group_mixins/developers.rb
your_platform-0.0.2 app/models/group_mixins/developers.rb