summaryrefslogtreecommitdiff
path: root/app/controllers/api/companies_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/api/companies_controller.rb')
-rw-r--r--app/controllers/api/companies_controller.rb18
1 files changed, 17 insertions, 1 deletions
diff --git a/app/controllers/api/companies_controller.rb b/app/controllers/api/companies_controller.rb
index 4317682..9d6cb1c 100644
--- a/app/controllers/api/companies_controller.rb
+++ b/app/controllers/api/companies_controller.rb
@@ -17,7 +17,7 @@ module Api
render json: serialized_object.serializable_hash, status: :ok and return if @company
- render json: { error_message: "No se encontró la compañía #{params[:short_name]}" }, status: :not_found
+ render json: not_found_error_message, status: :not_found
end
def create
@@ -28,6 +28,18 @@ module Api
render json: { error_messages: @company.errors.full_messages }, status: :unprocessable_entity
end
+ def update
+ @company = Company.find_by(short_name: params[:id])
+
+ render json: not_found_error_message, status: :not_found and return if @company.nil?
+
+ if @company.update(permitted_params)
+ render json: serialized_object.serializable_hash, status: :ok
+ else
+ render json: { error_messages: @company.errors.full_messages }, status: :unprocessable_entity
+ end
+ end
+
private
def serialized_object
@@ -41,5 +53,9 @@ module Api
def permitted_params
params.permit(:name, :country, :short_name, :logo)
end
+
+ def not_found_error_message
+ { error_message: "No se encontró la compañía #{params[:short_name]}"}
+ end
end
end