class PR::Pin::Adapter::Handlers::JSONResponse
Constants
- SUCCESS_CODES
Public Instance Methods
call(response, dataset)
click to toggle source
# File lib/pr/pin/adapter/handlers/json_response.rb, line 8 def call(response, dataset) result = JSON.parse( response.body, symbolize_names: true ) pagination_result = result.fetch(:pagination, false) if SUCCESS_CODES.include?(response.code) if %i(post put patch).include?(dataset.request_method) response = result[:response] else response = Array([result[:response]]).flatten(1) end if pagination_result PaginatedResponse.new(response, pagination_result) else Response.new(response) end else raise(ResponseError.new(response, result)) end end