Commit df548285 authored by Tomasz Maczukin's avatar Tomasz Maczukin

Add some fixes after review

parent efb3395b
...@@ -27,11 +27,11 @@ module API ...@@ -27,11 +27,11 @@ module API
# GET /projects/:id/variables/:key # GET /projects/:id/variables/:key
get ':id/variables/:key' do get ':id/variables/:key' do
key = params[:key] key = params[:key]
variables = user_project.variables.where(key: key) variable = user_project.variables.find_by(key: key.to_s)
return not_found!('Variable') if variables.empty? return not_found!('Variable') unless variable
present variables.first, with: Entities::Variable present variable, with: Entities::Variable
end end
# Create a new variable in project # Create a new variable in project
...@@ -46,10 +46,12 @@ module API ...@@ -46,10 +46,12 @@ module API
required_attributes! [:key, :value] required_attributes! [:key, :value]
variable = user_project.variables.create(key: params[:key], value: params[:value]) variable = user_project.variables.create(key: params[:key], value: params[:value])
return render_validation_error!(variable) unless variable.valid?
variable.save!
if variable.valid?
present variable, with: Entities::Variable present variable, with: Entities::Variable
else
render_validation_error!(variable)
end
end end
# Update existing variable of a project # Update existing variable of a project
...@@ -61,14 +63,16 @@ module API ...@@ -61,14 +63,16 @@ module API
# Example Request: # Example Request:
# PUT /projects/:id/variables/:key # PUT /projects/:id/variables/:key
put ':id/variables/:key' do put ':id/variables/:key' do
variable = user_project.variables.where(key: params[:key]).first variable = user_project.variables.find_by(key: params[:key].to_s)
return not_found!('Variable') unless variable return not_found!('Variable') unless variable
variable.value = params[:value] attrs = attributes_for_keys [:value]
variable.save! if variable.update(attrs)
present variable, with: Entities::Variable present variable, with: Entities::Variable
else
render_validation_error!(variable)
end
end end
# Delete existing variable of a project # Delete existing variable of a project
...@@ -79,10 +83,9 @@ module API ...@@ -79,10 +83,9 @@ module API
# Exanoke Reqyest: # Exanoke Reqyest:
# DELETE /projects/:id/variables/:key # DELETE /projects/:id/variables/:key
delete ':id/variables/:key' do delete ':id/variables/:key' do
variable = user_project.variables.where(key: params[:key]).first variable = user_project.variables.find_by(key: params[:key].to_s)
return not_found!('Variable') unless variable return not_found!('Variable') unless variable
variable.destroy variable.destroy
present variable, with: Entities::Variable present variable, with: Entities::Variable
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment