Method: Pebblebed::GenericClient#perform
- Defined in:
- lib/pebblebed/clients/generic_client.rb
#perform(method, url = '', params = {}, &block) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/pebblebed/clients/generic_client.rb', line 12 def perform(method, url = '', params = {}, &block) begin result = Pebblebed::Http.send(method, service_url(url), service_params(params), &block) return DeepStruct.wrap(JSON.parse(result.body)) rescue JSON::ParserError => e if e. =~ /^lexical error: invalid bytes in UTF8 string/ raise else # Treat as non-JSON return result.body end end end |