Module: Creditario::API::Update
- Included in:
- Creditario::Applications, Crowdfunding::Investors, Customers
- Defined in:
- lib/creditario/api/update.rb
Overview
Creditario::API::Update
Modulo encargado de actualizar recursos existentes en la API de creditar.io
Instance Method Summary collapse
-
#update(id, params = {}, include_param = nil) ⇒ Object
Realizar una llamada PATCH al path del Repositorio que esta haciendo uso de este modulo.
Instance Method Details
#update(id, params = {}, include_param = nil) ⇒ Object
Realizar una llamada PATCH al path del Repositorio que esta haciendo uso de este modulo.
Si todo sale bien devuelve una instancia del Recurso especĂfico que el Repositorio maneja. De lo contrario, regresa un Hash con los errores arrojados por el servidor de creditar.io
Nota: Si desea hacer uso de multipart/form-data es necesario pasar un parametro enctype con valor true para habilitarlo, por ejemplo:
result = Creditario::Crowdfunding::Investors.update("97d58a6c-e943-46bf-b8ec-2db7b397bc17", full_name: "Steve Rogers", encypte: true)
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/creditario/api/update.rb', line 22 def update(id, params = {}, include_param = nil) enctype = params.delete(:enctype) || false path = "#{self.resource_path}/#{id}" path = include_param.nil? ? path : path + "?include=#{include_param}" request_method = enctype ? :multipart_patch : :patch response = API.request(request_method, path, params) attributes = response.dig("data").first links = response.dig("links") self.resource_class.new(attributes, links) rescue Creditario::Exceptions::UnprocessableEntityError, Creditario::Exceptions::ResourceNotFoundError, Creditario::Exceptions::ForbiddenError => exception exception.server_response end |