module Groupify::ActiveRecord::NamedGroupMember

Usage:

class User < ActiveRecord::Base
    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/active_record/named_group_member.rb, line 48
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/active_record/named_group_member.rb, line 39
def in_any_named_group?(*args)
  opts = args.extract_options!
  named_groups = args.flatten
  named_groups.each do |named_group|
    return true if in_named_group?(named_group, opts)
  end
  return false
end
in_named_group?(named_group, opts={}) click to toggle source
# File lib/groupify/adapter/active_record/named_group_member.rb, line 35
def in_named_group?(named_group, opts={})
  named_groups.include?(named_group, opts)
end
in_only_named_groups?(*args) click to toggle source
# File lib/groupify/adapter/active_record/named_group_member.rb, line 54
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
named_groups() click to toggle source
# File lib/groupify/adapter/active_record/named_group_member.rb, line 25
def named_groups
  @named_groups ||= NamedGroupCollection.new(self)
end
named_groups=(groups) click to toggle source
# File lib/groupify/adapter/active_record/named_group_member.rb, line 29
def named_groups=(groups)
  groups.each do |group|
    self.named_groups << group
  end
end
shares_any_named_group?(other, opts={}) click to toggle source
# File lib/groupify/adapter/active_record/named_group_member.rb, line 60
def shares_any_named_group?(other, opts={})
  in_any_named_group?(other.named_groups.to_a, opts)
end