Module: Groupify::ActiveRecord::GroupMember

Extended by:
ActiveSupport::Concern
Defined in:
lib/groupify/adapter/active_record.rb

Overview

Usage:

class User < ActiveRecord::Base
    acts_as_group_member
    ...
end

user.groups << group

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#in_all_groups?(*groups) ⇒ Boolean

Returns:

  • (Boolean)


191
192
193
# File 'lib/groupify/adapter/active_record.rb', line 191

def in_all_groups?(*groups)
  Set.new(groups.flatten) == Set.new(self.named_groups)
end

#in_any_group?(*groups) ⇒ Boolean

Returns:

  • (Boolean)


184
185
186
187
188
189
# File 'lib/groupify/adapter/active_record.rb', line 184

def in_any_group?(*groups)
  groups.flatten.each do |group|
    return true if in_group?(group)
  end
  return false
end

#in_group?(group) ⇒ Boolean

Returns:

  • (Boolean)


180
181
182
# File 'lib/groupify/adapter/active_record.rb', line 180

def in_group?(group)
  self.group_memberships.exists?(:group_id => group.id)
end

#shares_any_group?(other) ⇒ Boolean

Returns:

  • (Boolean)


195
196
197
# File 'lib/groupify/adapter/active_record.rb', line 195

def shares_any_group?(other)
  in_any_group?(other.groups)
end