Sha256: 7fce48478b502f0aa6d79589114a8de785382e51603e976cdbf0ffbeac4bdbdb

Contents?: true

Size: 1.26 KB

Versions: 1

Compression:

Stored size: 1.26 KB

Contents

class Bitcoin::Candle

  attr_accessor :timestamp, :open, :close, :min, :max, :volume, :volumeQuote, :interval

  def display_details
    puts <<-DOC
    #{@timestamp}
    Open: #{@open} || Close: #{@close}
    Min: #{@min} || Max: #{@max}
    Volume: #{@volume} || Volume Quote: #{@volumeQuote}

    DOC
  end

  def self.new_from_object(object)
    c = Bitcoin::Candle.new
    c.timestamp = Time.parse(object['timestamp'])
    c.open = object['open']
    c.close = object['close']
    c.min = object['min']
    c.max = object['max']
    c.volume = object['volume']
    c.volumeQuote = object['volumeQuote']
    #puts "candle retreived ()"
    c
  end

  def self.all(symbol)
    data = JSON.parse(RestClient.get("#{Bitcoin::BASE}/public/candles/#{symbol}?limit=1000"))
    data.map{ |candle|
      Bitcoin::Candle.new_from_object(candle)
    }
  end

  # returns array of candles between two datetimes
  def self.new_from_range(symbol_name, timestamps, interval = '30M')
    url = "#{Bitcoin::BASE}/public/candles/#{symbol_name}?limit=1000&sort=DESC"
    params = "&from=#{timestamps[0]}&till=#{timestamps[1]}&period=#{interval}"
    params = params.gsub(':', '%3A')
    data = JSON.parse RestClient.get("#{url}#{params}")
    data.map { |e| Bitcoin::Candle.new_from_object(e) }
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bitcoin-api-0.1.1 lib/bitcoin/candle.rb