Sha256: 6413b3e6ee010fdb0d33c796fcf3a2ac1b421225119cb8f0f348d479cd95d0bb
Contents?: true
Size: 793 Bytes
Versions: 1
Compression:
Stored size: 793 Bytes
Contents
# frozen_string_literal: true module Mcoin class Subscriber attr_reader :markets, :pairs def initialize(pairs = [], market = Market.available) @pairs = pairs_from(pairs) @markets = markets_from(market) end def start(interval = 1, &block) loop do Parallel.async(markets, :fetch) do |result| yield result.to_ticker end sleep interval end end protected def pairs_from(picked) @pairs ||= (picked || ['BTC-USD']).uniq.map do |pair| pair.split('-').map(&:to_sym) end end def markets_from(picked) @markets ||= picked.map do |name| pairs.map do |pair| Market .pick(name) .new(*pair) end end.flatten end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
mcoin-0.5.0 | lib/mcoin/subscriber.rb |