Module: Groupify::Mongoid::Group::ClassMethods::MemberAssociationExtensions
- Defined in:
- lib/groupify/adapter/mongoid/group.rb
Instance Method Summary collapse
Instance Method Details
#as(membership_type) ⇒ Object
109 110 111 112 |
# File 'lib/groupify/adapter/mongoid/group.rb', line 109 def as(membership_type) return self unless membership_type where(:group_memberships.elem_match => { as: membership_type.to_s, group_ids: [base.id] }) end |
#delete(*args) ⇒ Object
118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/groupify/adapter/mongoid/group.rb', line 118 def delete(*args) opts = args. members = args if opts[:as] members.each do |member| member.group_memberships.as(opts[:as]).first.groups.delete(base) end else members.each do |member| member.group_memberships.in(groups: base).each do |membership| membership.groups.delete(base) end end super(*members) end end |
#destroy(*args) ⇒ Object
114 115 116 |
# File 'lib/groupify/adapter/mongoid/group.rb', line 114 def destroy(*args) delete(*args) end |