def user(username, &block)
      u = (@users[username] ||= Aker::User.new(username))
      u.tap(&block) if block
      u
    end
def user(username, &block)
      u = (@users[username] ||= Aker::User.new(username))
      u.tap(&block) if block
      u
    end
SETUP METHODS

 Creates or updates one of the user records in this authority.  If
 provided a block, the user will be yielded to it.  This the
 mechanism to use to set attributes, portals, and group
 memberships on the users returned by {#valid_credentials?}.
 Example:

     auth.user("wakibbe") do |u|
       u.first_name = "Warren"
       u.portals << :ENU
     end

     auth.user("wakibbe").first_name # => "Warren"

 @param [String] username the username for the user to create,
   update, or just read

 @return [Aker::User] the single user for `username` (possibly
   newly created; never nil)

 @see #load!