module Groupify::Mongoid::Group
Usage:
class Group include Mongoid::Document groupify :group, members: [:users] ... end group.add(member)
Public Instance Methods
add(*args)
click to toggle source
# File lib/groupify/adapter/mongoid/group.rb, line 30 def add(*args) opts = args.extract_options! membership_type = opts[:as] members = args.flatten return unless members.present? members.each do |member| member.groups << self membership = member.group_memberships.find_or_initialize_by(as: membership_type) membership.groups << self membership.save! end end
member_classes()
click to toggle source
def members
self.class.default_member_class.any_in(:group_ids => [self.id])
end
# File lib/groupify/adapter/mongoid/group.rb, line 26 def member_classes self.class.member_classes end
merge!(source)
click to toggle source
Merge a source group into this group.
# File lib/groupify/adapter/mongoid/group.rb, line 45 def merge!(source) self.class.merge!(source, self) end