RT::GroupMember should never be called directly. It should ONLY only be accessed through the helper functions in RT::Group;
If you're operating on an RT::GroupMember object yourself, you ARE doing something wrong.
Add a Principal to the group Group. if the Principal is a group, automatically inserts all members of the principal into the cached members table recursively down.
Both Group and Member are expected to be RT::Principal objects
Create { Group => undef, Member => undef }
Creates an entry in the groupmembers table, which lists a user as a member of himself. This makes ACL checks a whole bunch easier. This happens once on user create and never ever gets yanked out.
PRINCIPAL is expected to be an RT::Principal object for a user
This routine expects to be called inside a transaction by RT::User->Create
Takes no arguments. deletes the currently loaded member from the group in question.
Expects to be called _outside_ a transaction
Returns an RT::Principal object for the Principal specified by $self->PrincipalId
Returns an RT::Principal object for the Group specified in $self->GroupId