class Dogecoin::RPC
Public Class Methods
new(options)
click to toggle source
# File lib/dogecoin/rpc.rb, line 4 def initialize(options) @user, @pass = options[:user], options[:pass] @host, @port = options[:host], options[:port] @ssl = options[:ssl] end
Public Instance Methods
credentials()
click to toggle source
# File lib/dogecoin/rpc.rb, line 10 def credentials if @user "#{@user}:#{@pass}" else nil end end
dispatch(request)
click to toggle source
# File lib/dogecoin/rpc.rb, line 25 def dispatch(request) RestClient.post(service_url, request.to_post_data, content_type: :json) do |respdata, request, result| response = JSON.parse(respdata) raise Dogecoin::Errors::RPCError, response['error'] if response['error'] response['result'] end end
service_url()
click to toggle source
# File lib/dogecoin/rpc.rb, line 18 def service_url url = @ssl ? "https://" : "http://" url.concat "#{credentials}@" if c = credentials url.concat "#{@host}:#{@port}" url end
Private Instance Methods
symbolize_keys(hash)
click to toggle source
# File lib/dogecoin/rpc.rb, line 34 def symbolize_keys(hash) case hash when Hash hash.inject({}) do |result, (key, value)| key = key.to_sym if key.kind_of?(String) value = symbolize_keys(value) result[key] = value result end when Array hash.collect do |ele| symbolize_keys(ele) end else hash end end