module NexusCli::UserActions
def update_user(params)
-
(Boolean)
- true if the user is updated, false otherwise
Parameters:
-
params
(Hash
) -- a Hash of parameters to update
def update_user(params) params[:roles] = [] if params[:roles] == [""] user_json = get_user(params[:userId]) modified_json = JsonPath.for(user_json) params.each do |key, value| modified_json.gsub!("$..#{key}"){|v| value} unless key == "userId" || value.blank? end response = nexus.put(nexus_url("service/local/users/#{params[:userId]}"), :body => JSON.dump(modified_json.to_hash), :header => DEFAULT_CONTENT_TYPE_HEADER) case response.status when 200 return true when 400 raise UpdateUserException.new(response.content) else raise UnexpectedStatusCodeException.new(response.status) end end