cryptoexchange 0.15.3 → 0.15.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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