Sha256: ec0ca14b8883b274df9eb6fea658a0e41fb99b79ea6f89609f6bf4c2304e488e

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

#
# There are certain gloabl special groups, for example the `everyone` group, which contains
# all users.
#
# The mechanism used by this mixin is defined in `StructureableMixins::HasSpecialGroups`.
#
module GroupMixins::HiddenUsers

  extend ActiveSupport::Concern

  included do
    # see, for example, http://stackoverflow.com/questions/5241527/splitting-a-class-into-multiple-files-in-ruby-on-rails
  end

  # Hidden Users
  # ==========================================================================================
  #
  # This group contains all users that are hidden to normal users and only visible
  # to their administrators.
  #
  module ClassMethods
    def find_hidden_users_group
      find_special_group(:hidden_users)
    end
    
    def create_hidden_users_group
      create_special_group(:hidden_users)
    end

    def find_or_create_hidden_users_group
      find_or_create_special_group(:hidden_users)
    end
    
    def hidden_users
      find_or_create_hidden_users_group
    end
    
    def hidden_users!
      find_hidden_users_group || raise('special group :hidden_users 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/hidden_users.rb
your_platform-1.0.0 app/models/group_mixins/hidden_users.rb
your_platform-0.0.2 app/models/group_mixins/hidden_users.rb