cryptoexchange 0.15.3 → 0.15.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 176be07e7dffa4e9edfdd3b86e8ab4275c1e85f9
4
- data.tar.gz: 247c1c0adf1b7bce1f609f1ac95c466f82e286b8
3
+ metadata.gz: 90f0d45ac77acb4133cdfba54122f50ecae41a56
4
+ data.tar.gz: 17f77122553fa33ea2ad4f7e3af4129cf5bbeae4
5
5
  SHA512:
6
- metadata.gz: a3c58733f6640d090b761b05a87724931945b39ecf37be1a3bb3d1dbcf0fd8ef19c4c9048a8271af1ed6f858dad9fb86ddabad116cd864b85e4744bafb02f4d3
7
- data.tar.gz: 3a5b193f456d18adb069af76241289fb9aec3e4ede8b2ad9bf95fb7bbe37d3b9549ce01b1928f4cac6ca1bee1865731205435cb7c3f20c152a11c16953f02617
6
+ metadata.gz: 6bef5f4149bc6a1c34e5d3802ecde46067969c785f60351eb6cb33bb6bec3e8f0551ceba0f77e91f7269e5b1784b3e7a3c9311e0d2d08fd2c072c7160a030b1e
7
+ data.tar.gz: 4cefe5227dba98467760fec76b5bb6529929949c743c4693c58154d0f1e2b7d98d8a4f6cb4794f314f206889bfebe955a3262b46f6601600c8c2f8a06d63b0b1
@@ -10,28 +10,43 @@ module Cryptoexchange::Exchanges
10
10
  end
11
11
  end
12
12
 
13
- def fetch(market_pair)
14
- output = super(ticker_url(market_pair))
15
- adapt(output, market_pair)
13
+ def fetch
14
+ output = super ticker_url
15
+ adapt_all(output)
16
16
  end
17
17
 
18
- def ticker_url(market_pair)
18
+ def ticker_url
19
19
  "#{Cryptoexchange::Exchanges::EtherDelta::Market::API_URL}/returnTicker"
20
20
  end
21
21
 
22
+ def adapt_all(output)
23
+ output.map do |pair, ticker|
24
+ # format example: ETH_ZRX
25
+ # ETH is the Target, ZRX is the Base
26
+ target, base = pair.split('_')
27
+ # Ignore non-standard BASE
28
+ next if base =~ /\s/ || base =~ /0x/
29
+ market_pair = Cryptoexchange::Models::MarketPair.new(
30
+ base: base,
31
+ target: target,
32
+ market: EtherDelta::Market::NAME
33
+ )
34
+ adapt(ticker, market_pair)
35
+ end
36
+ end
37
+
22
38
  def adapt(output, market_pair)
23
39
  name = "#{market_pair.target}_#{market_pair.base}"
24
- market = output[name]
25
40
  ticker = Cryptoexchange::Models::Ticker.new
26
41
  ticker.base = market_pair.base
27
42
  ticker.target = market_pair.target
28
43
  ticker.market = EtherDelta::Market::NAME
29
- ticker.last = NumericHelper.to_d(market['last'].to_s)
30
- ticker.bid = NumericHelper.to_d(market['bid'].to_s)
31
- ticker.ask = NumericHelper.to_d(market['ask'].to_s)
32
- ticker.volume = NumericHelper.to_d(market['quoteVolume'].to_s)
44
+ ticker.last = NumericHelper.to_d(output['last'].to_s)
45
+ ticker.bid = NumericHelper.to_d(output['bid'].to_s)
46
+ ticker.ask = NumericHelper.to_d(output['ask'].to_s)
47
+ ticker.volume = NumericHelper.to_d(output['quoteVolume'].to_s)
33
48
  ticker.timestamp = DateTime.now.to_time.to_i
34
- ticker.payload = market
49
+ ticker.payload = output
35
50
  ticker
36
51
  end
37
52
  end
@@ -2,7 +2,8 @@ class NumericHelper
2
2
  class << self
3
3
  def to_d(number)
4
4
  if number
5
- number.empty? ? nil : BigDecimal.new(number.to_s)
5
+ num = number.to_s
6
+ num.empty? ? nil : BigDecimal.new(num)
6
7
  else
7
8
  nil
8
9
  end
@@ -1,3 +1,3 @@
1
1
  module Cryptoexchange
2
- VERSION = "0.15.3"
2
+ VERSION = "0.15.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptoexchange
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.3
4
+ version: 0.15.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - TM Lee