Sha256: f0fbc41564b57bf973884b2f96a12a89959cbd3e8e5413cbafc838696d6c50ed

Contents?: true

Size: 751 Bytes

Versions: 8

Compression:

Stored size: 751 Bytes

Contents

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

      def request(method_name, payload={})
        client = RestClient::Resource.new Katapaty.configuration.counterblock_url
        request = { method: method_name, params: payload, 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)
        args = args.nil? ? {} : args.first
        request(name, args)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
katapaty-1.0.2 lib/katapaty/block.rb
katapaty-1.0.1 lib/katapaty/block.rb
katapaty-1.0.0 lib/katapaty/block.rb
katapaty-0.5.1 lib/katapaty/block.rb
katapaty-0.5.0 lib/katapaty/block.rb
katapaty-0.4.4 lib/katapaty/block.rb
katapaty-0.4.3 lib/katapaty/block.rb
katapaty-0.4.1 lib/katapaty/block.rb