def group_memberships(portal=nil)
      portal = (portal || required_default_portal).to_sym
      all_group_memberships[portal] ||= GroupMemberships.new(portal)
    end
def group_memberships(portal=nil)
      portal = (portal || required_default_portal).to_sym
      all_group_memberships[portal] ||= GroupMemberships.new(portal)
    end
Exposes the {GroupMemberships group memberships} for a
 this user on a particular portal.

 This method never returns `nil`.  Therefore, its return value
 should not be used to determine if a user has access to a portal
 &mdash; only for groups.  Use {#may_access?} to determine portal
 access.

 @param [#to_sym,nil] portal the portal to get the memberships
   for.  If nil, uses {#default_portal}.

 @return [GroupMemberships] for a particular portal

 @see GroupMemberships#include?