Module: GroupMixins::Everyone

Extended by:
ActiveSupport::Concern
Included in:
Group
Defined in:
app/models/group_mixins/everyone.rb

Overview

There are certain gloabl special groups, for example the ‘everyone` group, which contains all users.

The global accessors for these groups, e.g. ‘Group.find_everyone_group` or `Group.everyone` for short, are defined in this mixin.

The mechanism used by this mixin is defined in ‘StructureableMixins::HasSpecialGroups`.

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#direct_members(reload = nil) ⇒ Object

This method overrides the default association to emulate the bahaviour that really every user is direct member of the :everyone group.



64
65
66
67
68
69
70
# File 'app/models/group_mixins/everyone.rb', line 64

def direct_members(reload = nil)
  if self.has_flag? :everyone
    User.where(true)
  else
    super(reload)
  end
end

#members(reload = nil) ⇒ Object

This method overrides the default association to emulate the bahaviour that really every user is member of the :everyone group.



53
54
55
56
57
58
59
# File 'app/models/group_mixins/everyone.rb', line 53

def members(reload = nil)
  if self.has_flag? :everyone
    User.where(true)
  else
    super(reload)
  end
end