Sha256: 9ee92560ee3aa14a3737de8432b867085131b95a54ec8ef385fe4e5a4599da5c

Contents?: true

Size: 1.29 KB

Versions: 4

Compression:

Stored size: 1.29 KB

Contents

#
# Counterblock APIs
#
#
module Katapaty
  class Block
    class << self

      def request(method_name, params={})
        client = RestClient::Resource.new Katapaty.configuration.counterblock_url
        request = { method: method_name, params: params, jsonrpc: '2.0', id: '0' }.to_json
        response = JSON.parse client.post(
          request,
          accept: 'json',
          content_type: 'json'
        )
        raise JsonResponseError.new response if response.has_key? 'code'
        raise ResponseError.new response['error'] if response.has_key? 'error'
        response['result']
      end

      def method_missing(name, *args)
        params = args.nil? ? {} : args.first
        request(name, params)
      end

      def proxy_to_cp(method:, params: {})
        client = RestClient::Resource.new Katapaty.configuration.counterblock_url
        request = { method: :proxy_to_counterpartyd, params: { method: method, params: params }, jsonrpc: '2.0', id: '0' }.to_json
        response = JSON.parse client.post(
          request,
          accept: 'json',
          content_type: 'json'
        )
        raise JsonResponseError.new response if response.has_key? 'code'
        raise ResponseError.new response['error'] if response.has_key? 'error'
        response['result']
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
katapaty-1.0.6 lib/katapaty/block.rb
katapaty-1.0.5 lib/katapaty/block.rb
katapaty-1.0.4 lib/katapaty/block.rb
katapaty-1.0.3 lib/katapaty/block.rb