class Watchcow::Client

Public Class Methods

all_text(results) click to toggle source
# File lib/watchcow/client.rb, line 54
def all_text results
  results.map do |k, v|
    v.map do |c|
      c.values.map{|x| x}
    end
  end.inject(&:+).map do |str|
    "<p>#{str}</p>"
  end
end
call(coin=nil) click to toggle source
# File lib/watchcow/client.rb, line 10
def call(coin=nil)
  results = Watchcow::Rate.call(coin)
  cq_list = results[:cq_list]
  nq_list = results[:nq_list]
  nw_list = results[:nw_list]
  cw_list = results[:cw_list]
  results = {
    cq_list: cq_list,
    nq_list: nq_list,
    nw_list: nw_list,
    cw_list: cw_list
  }
  results.to_json
end
list_text(results) click to toggle source
# File lib/watchcow/client.rb, line 31
      def list_text results
        cq = results.dig('cq_list')
        nq = results.dig('nq_list')
        cw = results.dig('cw_list')
        nw = results.dig('nw_list')
        best_cq = cq.first
        best_nq = nq.first
        best_cw = cw.first
        best_nw = nw.first
        text = [best_nq, best_cq, best_nw, best_cw].each do |x|
        t =
          <<-CONTENT
            #{x.dig('coin')}, #{x.dig('days')} days left
            annual margin: #{x.dig('margin')}%
            landed margin: #{x.dig('real_margin_expected')}%
            dm bid: #{x.dig('dm_first_bid')}, spot bid: #{x.dig('spot_first_bid')}
            ---

          CONTENT
          puts t
        end
      end
stare(coin) click to toggle source
# File lib/watchcow/client.rb, line 25
def stare coin
  while true
    list_text(JSON.parse(call(coin)))
  end
end