diff --git a/lib/groupify/adapter/mongoid/group.rb b/lib/groupify/adapter/mongoid/group.rb index 5883315..60c14c8 100644 --- a/lib/groupify/adapter/mongoid/group.rb +++ b/lib/groupify/adapter/mongoid/group.rb @@ -140,7 +140,7 @@ def merge!(source_group, destination_group) module MemberAssociationExtensions def as(membership_type) - membership_type.present? ? where(:group_memberships.elem_match => {as: membership_type, group_ids: [base.id]}) : self + membership_type.present? ? where(:group_memberships.elem_match => {as: membership_type, group_ids: [_base.id]}) : self end def destroy(*members) @@ -152,16 +152,12 @@ def delete(*members) if membership_type.present? members.each do |member| - member.group_memberships.as(membership_type).first.groups.delete(base) + member.group_memberships.as(membership_type).first.groups.delete(_base) end else members.each do |member| - member.group_memberships.in(groups: base).each do |membership| - membership.groups.delete(base) - end + member.groups.destroy _base end - - super(*members) end end end