hstove/rbtc_arbitrage

View on GitHub
lib/rbtc_arbitrage/clients/client.rb.example

Summary

Maintainability
Test Coverage
module RbtcArbitrage
  module Clients
    class ExchangeClient
      include RbtcArbitrage::Client

      # return a symbol as the name
      # of this exchange
      def exchange
      end

      # Returns an array of Floats.
      # The first element is the balance in BTC;
      # The second is in USD.
      def balance
      end

      def interface
      end

      # Configures the client's API keys.
      def validate_env
      end

      # `action` is :buy or :sell
      def trade action
      end

      # `action` is :buy or :sell
      # Returns a Numeric type.
      def price action
      end

      # Transfers BTC to the address of a different
      # exchange.
      def transfer client
      end

      # If there is an API method to fetch your
      # BTC address, implement this, otherwise
      # remove this method and set the ENV
      # variable [this-exchange-name-in-caps]_ADDRESS
      def address
      end
    end
  end
end