module Groupify::Mongoid::NamedGroupMember

Usage:

class User
  include Mongoid::Document

  acts_as_named_group_member
  ...
end

user.named_groups << :admin

Public Instance Methods

in_all_named_groups?(*args) click to toggle source
# File lib/groupify/adapter/mongoid/named_group_member.rb, line 42
def in_all_named_groups?(*args)
  opts = args.extract_options!
  named_groups = args.flatten.to_set

  named_groups.subset? self.named_groups.as(opts[:as]).to_set
end
in_any_named_group?(*args) click to toggle source
# File lib/groupify/adapter/mongoid/named_group_member.rb, line 31
def in_any_named_group?(*args)
  opts = args.extract_options!
  group_names = args.flatten

  group_names.each do |named_group|
    return true if in_named_group?(named_group)
  end

  return false
end
in_named_group?(named_group, opts={}) click to toggle source
# File lib/groupify/adapter/mongoid/named_group_member.rb, line 27
def in_named_group?(named_group, opts={})
  named_groups.as(opts[:as]).include?(named_group)
end
in_only_named_groups?(*args) click to toggle source
# File lib/groupify/adapter/mongoid/named_group_member.rb, line 49
def in_only_named_groups?(*args)
  opts = args.extract_options!
  named_groups = args.flatten.to_set
  named_groups == self.named_groups.as(opts[:as]).to_set
end
shares_any_named_group?(other, opts={}) click to toggle source
# File lib/groupify/adapter/mongoid/named_group_member.rb, line 55
def shares_any_named_group?(other, opts={})
  in_any_named_group?(other.named_groups, opts)
end