# frozen_string_literal: true require 'rest-client' module PKParse class Client def parse(files) response = RestClient.post("#{PKParse.service_url}/parse", pkmn: files, multipart: true) response = JSON.parse(response, symbolize_keys: true) PKParse::Response.new(response) rescue RestClient::Exception => e raise PKParse::ResponseError.new(e) rescue JSON::ParserError => e raise PKParse::Error.new(e, 'Received invalid parse response') end end end