class Sonycam::API
Public Class Methods
new(api_url)
click to toggle source
# File lib/sonycam/api.rb, line 6 def initialize api_url @uri = URI(api_url) @http = Net::HTTP.start(@uri.host, @uri.port) end
Public Instance Methods
request(method, *params, **options)
click to toggle source
id property of JSON-RPC seems to be totally useless over HTTP since it's request-response pattern.
# File lib/sonycam/api.rb, line 12 def request method, *params, **options json = {method: method, params: params, id: 1, version: '1.0'}.merge!(options).to_json ret = JSON.parse(@http.request_post(@uri.path, json).body) if ret['error'] error_code, error_message = ret['error'] raise Sonycam::Error.make(error_code), error_message else ret['result'] end end