module Groupify::ActiveRecord::GroupMember::GroupAssociationExtensions

Public Instance Methods

as(membership_type) click to toggle source
# File lib/groupify/adapter/active_record/group_member.rb, line 32
def as(membership_type)
  return self unless membership_type
  where(group_memberships: {membership_type: membership_type})
end
delete(*args) click to toggle source
Calls superclass method
# File lib/groupify/adapter/active_record/group_member.rb, line 37
def delete(*args)
  opts = args.extract_options!
  groups = args.flatten

  if opts[:as]
    proxy_association.owner.group_memberships_as_member.where(group_id: groups.map(&:id)).as(opts[:as]).delete_all
  else
    super(*groups)
  end
end
destroy(*args) click to toggle source
Calls superclass method
# File lib/groupify/adapter/active_record/group_member.rb, line 48
def destroy(*args)
  opts = args.extract_options!
  groups = args.flatten

  if opts[:as]
    proxy_association.owner.group_memberships_as_member.where(group_id: groups.map(&:id)).as(opts[:as]).destroy_all
  else
    super(*groups)
  end
end