Module: Groupify::Mongoid::NamedGroupMember
- Extended by:
- ActiveSupport::Concern
- Includes:
- MemberScopedAs
- Defined in:
- lib/groupify/adapter/mongoid/named_group_member.rb
Overview
Usage:
class User
include Mongoid::Document
acts_as_named_group_member
...
end
user.named_groups << :admin
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
- #in_all_named_groups?(*args) ⇒ Boolean
- #in_any_named_group?(*args) ⇒ Boolean
- #in_named_group?(named_group, opts = {}) ⇒ Boolean
- #in_only_named_groups?(*args) ⇒ Boolean
- #shares_any_named_group?(other, opts = {}) ⇒ Boolean
Instance Method Details
#in_all_named_groups?(*args) ⇒ Boolean
42 43 44 45 46 47 |
# File 'lib/groupify/adapter/mongoid/named_group_member.rb', line 42 def in_all_named_groups?(*args) opts = args. named_groups = args.flatten.to_set named_groups.subset? self.named_groups.as(opts[:as]).to_set end |
#in_any_named_group?(*args) ⇒ Boolean
31 32 33 34 35 36 37 38 39 40 |
# File 'lib/groupify/adapter/mongoid/named_group_member.rb', line 31 def in_any_named_group?(*args) opts = args. 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 = {}) ⇒ Boolean
27 28 29 |
# 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) ⇒ Boolean
49 50 51 52 53 |
# File 'lib/groupify/adapter/mongoid/named_group_member.rb', line 49 def in_only_named_groups?(*args) opts = args. named_groups = args.flatten.to_set named_groups == self.named_groups.as(opts[:as]).to_set end |
#shares_any_named_group?(other, opts = {}) ⇒ Boolean
55 56 57 |
# 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 |