Sha256: ae0506f54c45557b0abe079409f658d64b00217b630552d065ec0737a95520e6

Contents?: true

Size: 982 Bytes

Versions: 1

Compression:

Stored size: 982 Bytes

Contents

module KrakenClient
  module Endpoints
    class Public < Base

      def perform(endpoint_name, args)
        response = request_manager.call(url(endpoint_name), args)
        if response.status == 200
          hash = JSON.parse(response.body).with_indifferent_access
          return hash[:result]
        end
        raise KrakenClient::Exception, "Response status #{response.status} received."
      end

      def data
        {
          :Time       => :server_time,
          :AssetPairs => :asset_pairs,
          :Depth      => :order_book,
          :Ticker     => :ticker,
          :OHLC       => [:ohlc,  params: [:pair, :last, :interval]],
          :Trades     => :trades,
          :Spread     => :spread,
          :Assets     => :assets,
        }
      end

      private

      def url(endpoint_name)
        @url = config.base_uri + '/' + config.api_version.to_s + '/public/' + endpoint_name
      end

      def raise_exception(*)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
kraken_client-1.3.0 lib/kraken_client/endpoints/public.rb