module Groupify::ActiveRecord::Group
Usage:
class Group < ActiveRecord::Base groupify :group, members: [:users] ... end group.add(member)
Public Instance Methods
add(*args)
click to toggle source
# File lib/groupify/adapter/active_record/group.rb, line 29 def add(*args) opts = args.extract_options! membership_type = opts[:as] members = args.flatten return unless members.present? __send__(:clear_association_cache) members.each do |member| member.groups << self unless member.groups.include?(self) if membership_type member.group_memberships_as_member.where(group_id: id, group_type: self.class.model_name.to_s, membership_type: membership_type).first_or_create! end member.__send__(:clear_association_cache) end end
member_classes()
click to toggle source
# File lib/groupify/adapter/active_record/group.rb, line 25 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/active_record/group.rb, line 47 def merge!(source) self.class.merge!(source, self) end