| 12345678910111213141516171819202122232425262728293031323334 |
- require 'rest-client'
- module PKParse
- class Client
- attr_accessor :files
- def initialize(files)
- @files = files
- end
- def parse
- response = RestClient.post("#{PKParse.service_url}/parse", form_key => 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
- private
- def form_key
- # RestClient will add brackets to array form values, but go-pkparse-server
- # expects brackets regardless of multivalue or not.
- if files.size > 1
- "pkmn"
- else
- "pkmn[]"
- end
- end
- end
- end
|