cryptocoin_fanboi 0.5.5 → 0.8.0

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
- SHA1:
3
- metadata.gz: c8c01db0ba86abf6939aa6d3fb419f89fb41543d
4
- data.tar.gz: 2586baac25d7ad61c6633c317fa62e26b02c353c
2
+ SHA256:
3
+ metadata.gz: a1fd541ce5377d0b6e93894f354e6b0e75ee870376c6599a451df8616984ccbd
4
+ data.tar.gz: 91717a3ac0a1535414c69d3c6387ee732948b86557cc308ff3fe2e5ff9713a74
5
5
  SHA512:
6
- metadata.gz: d61ad6f22245e99e426645d89d4c628da567ab011ec4a2b7950f77520c21786f6d6ac1c53834dbf48b435b8ddd6df5a45ecee3afc4e9e89f9e22b23dc6beb329
7
- data.tar.gz: cb7967d37939570d7333f5d61f7539e61822a7b356eaf6a5d0f2eaec689cab27cfe42a5ebb09a7336833892077ae20ca9a89192b573609cf2b6c1ff2e1bb0b11
6
+ metadata.gz: 73afb57040c45f35f75d8f3094e88680c64d58cc3b0276fecf15bbe5ab4046922c98b2e5877b9f22be75c78a6058eb96140d426c82b99df3ffe9c6ecb858aef0
7
+ data.tar.gz: 1e244f248fd3c8399fc0427ce3877443b1862a562a4b52a18a2b7f85a18283fb2cacb30b9155522a23b1547cd8d6fa19278ae077c05d4b2be61a5a09e67362fb
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -3,15 +3,32 @@
3
3
  # file: cryptocoin_fanboi.rb
4
4
 
5
5
 
6
+ require 'excon'
6
7
  require 'psych'
7
8
  require 'colored'
8
- require 'coinmarketcap'
9
+ require 'coinmarketcap_lite'
9
10
  require 'table-formatter'
10
11
  require 'rxfhelper'
11
12
  require 'rexle'
12
13
  require 'kramdown'
13
14
  require 'justexchangerates'
14
-
15
+ require 'coinquery'
16
+ require 'coin360api21'
17
+ require 'remote_dwsregistry'
18
+
19
+ # 02-May 2021 ----
20
+ #
21
+ # public methods tested:
22
+ #
23
+ # * this_day
24
+ # * this_hour
25
+ # * this_week
26
+ # * this_month
27
+ # * past_60d
28
+ # * past_90d
29
+
30
+ # note: In order to use this gem you will need at least a
31
+ # valid "basic plan" Coinmarket API key.
15
32
 
16
33
  =begin
17
34
 
@@ -47,7 +64,7 @@ module Colour
47
64
 
48
65
  return x if x.to_s.strip.empty? or @colored == false
49
66
 
50
- s3 = (x.to_s.sub(/[\d\.\-]+/) {|s2| "%.2f" % s2})
67
+ s3 = (x.to_s.sub(/[\d\.\-]+/) {|s2| "%.2f" % s2.to_f})
51
68
  s = s3.length == x.to_s.length ? s3 : s3.sub(/ /,'')
52
69
 
53
70
  s[/^ *-/] ? s.red : s.green
@@ -59,27 +76,44 @@ end
59
76
 
60
77
  class CryptocoinFanboi
61
78
  include Colour
79
+ using ColouredText
62
80
 
63
81
  attr_reader :coins, :all_coins
64
82
  attr_accessor :colored
65
83
 
66
- def initialize(watch: [], ignore: [], colored: true,
67
- debug: false, filepath: '.', exchangerate_key: nil)
84
+ def initialize(watch: [], ignore: [], colored: true, debug: false,
85
+ filepath: '.', exchangerate_key: nil, cmc_apikey: nil)
68
86
 
69
- @colored, @debug, @filepath, @exchangerate_key = colored, debug, \
70
- filepath, exchangerate_key
87
+ @colored, @debug, @filepath = colored, debug, filepath
88
+ @exchangerate_key, @cmc_apikey = exchangerate_key, cmc_apikey
89
+
90
+ @cq = CoinQuery.new(dym: false, timeout: 7, debug: debug)
71
91
 
72
92
  @watch= watch.map(&:upcase)
73
93
  @ignore = ignore.map(&:upcase)
74
94
 
75
- @fields = %w(rank name price_usd price_btc percent_change_1h
76
- percent_change_24h percent_change_7d percent_change_year)
77
-
78
- @year = Time.now.year
79
- @labels = %w(Rank Name USD BTC) + ['% 1hr:', '% 24hr:',
80
- '% 1 week:', '% ' + @year.to_s + ':']
81
- coins = fetch_coinlist()
82
95
 
96
+ #@fields = %w(rank name price_usd price_btc percent_change_1h
97
+ # percent_change_24h percent_change_7d percent_change_year)
98
+
99
+ pct_fields = %w(1h 24h 7d 30d 60d 90d).map {|x| 'percent_change_' + x}
100
+ @fields = %w(price) + pct_fields
101
+
102
+ @year = Time.now.year
103
+ #@labels = %w(Rank Name USD BTC) + ['% 1hr:', '% 24hr:',
104
+ # '% 1 week:', '% ' + @year.to_s + ':']
105
+ @labels = %w(Rank Name USD) + ['% 1hr:', '% 24hr:',
106
+ '% 7d:','% 30d:','% 60d:','% 90d:']
107
+
108
+ puts 'about to fetch coinlist'.info if @debug
109
+ @coins = coins = fetch_coinlist()
110
+ puts 'coinlist fetched'.info if @debug
111
+
112
+ # The following code is commented out because it's non-essential to
113
+ # returning the current coin prices. It was intended to show yearly
114
+ # percentage returns
115
+
116
+ =begin
83
117
  # check for the local cache file containing a record of currency
84
118
  # prices from the start of the year
85
119
 
@@ -118,7 +152,7 @@ class CryptocoinFanboi
118
152
  puts '@growth: ' + @growth.inspect if @debug
119
153
 
120
154
  @coins = add_year_growth coins
121
-
155
+ =end
122
156
 
123
157
  end
124
158
 
@@ -203,7 +237,8 @@ class CryptocoinFanboi
203
237
  puts 'inside find: name: ' + name.inspect
204
238
  puts 'coins: ' + @coins.inspect
205
239
  end
206
- coins.find {|coin| coin.name =~ /#{name}/i }
240
+
241
+ coins.find {|coin| coin.name =~ /#{name}/i or coin.symbol =~ /#{name}/i}
207
242
 
208
243
  end
209
244
 
@@ -225,21 +260,21 @@ class CryptocoinFanboi
225
260
 
226
261
  coin = raw_coin.downcase.split.map(&:capitalize).join(' ')
227
262
 
228
- return self.coin(coin).price_usd.to_f if raw_date.nil?
263
+ return self.coin(coin).quote['USD']['price'].to_f if raw_date.nil?
229
264
  puts 'raw_date: ' + raw_date.inspect if @debug
230
265
 
231
266
  date = if raw_date.is_a? Date then
232
267
  raw_date.strftime("%Y%m%d")
233
268
  else
234
- Chronic.parse(raw_date.gsub('-',' ')).strftime("%Y%m%d")
269
+ Chronic.parse(raw_date.gsub('-',' ')).strftime("%d%m%Y")
235
270
  end
236
271
  puts 'date: ' + date.inspect if @debug
237
272
 
238
273
  # if date is today then return today's price
239
274
 
240
- if date == Date.today.strftime("%Y%m%d")
275
+ if date == Date.today.strftime("%d%m%Y")
241
276
  puts 'same day' if @debug
242
- return self.coin(coin).price_usd.to_f
277
+ return self.coin(coin).quote['USD']['price'].to_f
243
278
  end
244
279
 
245
280
 
@@ -253,11 +288,12 @@ class CryptocoinFanboi
253
288
  puts 'date: ' + date.inspect
254
289
  end
255
290
 
256
- a = Coinmarketcap.get_historical_price(coin.gsub(/ /,'-'), date, date)
257
- puts 'a: ' + a.inspect if @debug
258
-
259
- r = a.any? ? a.first[:close] : self.coin(coin).price_usd.to_f
291
+ #a = Coinmarketcap.get_historical_price(coin.gsub(/ /,'-'), date, date)
292
+ #puts 'a: ' + a.inspect if @debug
260
293
 
294
+ #r = a.any? ? a.first[:close] : self.coin(coin).quote['USD']['price'].to_f
295
+ price = @cq.historical_price coin, date
296
+ r = price ? price.to_f : self.coin(coin).quote['USD']['price'].to_f
261
297
  @history_prices[coin] ||= {}
262
298
  @history_prices[coin][date] = r
263
299
  File.write @historic_prices_file, @history_prices.to_yaml
@@ -271,6 +307,21 @@ class CryptocoinFanboi
271
307
 
272
308
  end
273
309
 
310
+ def past_60d(limit: 5, markdown: false, rank: :top)
311
+
312
+ coins = sort_coins('60d', limit: limit, rank: rank)
313
+ build_table coins, markdown: markdown
314
+
315
+ end
316
+
317
+ def past_90d(limit: 5, markdown: false, rank: :top)
318
+
319
+ coins = sort_coins('90d', limit: limit, rank: rank)
320
+ build_table coins, markdown: markdown
321
+
322
+ end
323
+
324
+
274
325
  def prices_this_year(coin)
275
326
 
276
327
  (Date.parse('1 Jan')..Date.today).map do |date|
@@ -297,13 +348,26 @@ class CryptocoinFanboi
297
348
  #
298
349
  def this_week(limit: 5, markdown: false, rank: :top)
299
350
 
300
- coins = sort_coins(limit: limit, rank: rank)
351
+ coins = sort_coins('7d', limit: limit, rank: rank)
301
352
  build_table coins, markdown: markdown
302
353
 
303
354
  end
304
355
 
305
356
  alias week this_week
306
357
 
358
+ # View the coins with the largest gains this week (past 7 days)
359
+ #
360
+ def this_month(limit: 5, markdown: false, rank: :top)
361
+
362
+ puts 'inside this_mponth'.info if @debug
363
+ coins = sort_coins('30d', limit: limit, rank: rank)
364
+ build_table coins, markdown: markdown
365
+
366
+ end
367
+
368
+ alias month this_month
369
+
370
+
307
371
  # View the coins with the largest gains this
308
372
  # year (since the start of the year)
309
373
  #
@@ -326,6 +390,13 @@ class CryptocoinFanboi
326
390
  alias last_day today
327
391
  alias day today
328
392
 
393
+ def total_market_cap()
394
+
395
+ '$' + Coin360Api21::Global.new.latest.total_market_cap.round.to_s\
396
+ .reverse.gsub(/...(?=.)/,'\&,').reverse
397
+
398
+ end
399
+
329
400
  def to_html()
330
401
 
331
402
  xpath = (5..8).map {|x| 'tbody/tr/td[' + x.to_s + ']' }.join(' | ')
@@ -346,16 +417,19 @@ class CryptocoinFanboi
346
417
 
347
418
  coins2 = add_year_growth(coins)
348
419
 
349
- puts 'coins2: ' + coins2.inspect
420
+ puts ('coins2: ' + coins2.inspect).debug if @debg
350
421
 
351
422
  coins3 = coins2.map do |coin|
352
423
 
353
- puts 'coin: ' + coin.inspect if @debug
354
- @fields.map {|x| coin[x] }
355
-
424
+ puts ('coin: ' + coin.inspect).debug if @debug
425
+ a2 = %w(cmc_rank name).map {|x| coin[x]}
426
+ puts 'a2: ' + a2.inspect
427
+ a3 = @fields.map {|x| coin['quote']['USD'][x].to_f.round(2) }
428
+ puts 'a3: ' + a3.inspect
429
+ a2 + a3
356
430
  end
357
431
 
358
- puts 'coins3: ' + coins3.inspect if @debug
432
+ puts ('coins3: ' + coins3.inspect).debug if @debug
359
433
 
360
434
 
361
435
  build_table coins3, markdown: markdown
@@ -401,8 +475,8 @@ class CryptocoinFanboi
401
475
  puts 'labels: ' + labels.inspect
402
476
  end
403
477
 
404
- s = TableFormatter.new(source: source, labels: labels, markdown: markdown)\
405
- .display
478
+ s = TableFormatter.new(source: source, labels: labels, divider: '|',
479
+ markdown: markdown).display
406
480
 
407
481
  return s if @colored == false or markdown
408
482
 
@@ -412,8 +486,9 @@ class CryptocoinFanboi
412
486
 
413
487
  fields = line.split('|')
414
488
 
415
- a2 = fields[5..-2].map {|x| c(x) }
416
- (fields[0..4] + a2 + ["\n"]).join('|')
489
+ a2 = fields[4..-2].map {|x| c(x) }
490
+ puts 'at: ' + a2.inspect if @debug
491
+ (fields[0..3] + a2 + ["\n"]).join('|')
417
492
 
418
493
  end
419
494
 
@@ -422,7 +497,8 @@ class CryptocoinFanboi
422
497
 
423
498
  def fetch_coinlist(limit: nil)
424
499
 
425
- @all_coins = JSON.parse(Coinmarketcap.coins.body)\
500
+ body = CoinmarketcapLite.new(apikey: @cmc_apikey).coins.body
501
+ @all_coins = JSON.parse(body)['data']\
426
502
  .map {|x| OpenStruct.new x}
427
503
 
428
504
  if @watch.any? then
@@ -443,20 +519,22 @@ class CryptocoinFanboi
443
519
 
444
520
  coins.inject({}) do |r, coin|
445
521
 
446
- day1 = @year.to_s + '0101'
522
+ day1 = '01-01-' + @year.to_s
447
523
  puts 'coin: ' + coin.name.inspect if @debug
448
524
 
449
525
  begin
450
526
 
451
- a = Coinmarketcap.get_historical_price(coin.name.gsub(/ /,'-'),
452
- day1, day1)
527
+ #a = Coinmarketcap.get_historical_price(coin.name.gsub(/ /,'-'),
528
+ # day1, day1)
529
+ price = @cq.historical_price coin.symbol, day1
530
+
453
531
  rescue
454
532
  puts 'warning : ' + coin.name.inspect + ' ' + ($!).inspect
455
533
  end
456
534
 
457
- if a and a.any? then
535
+ if price then
458
536
 
459
- r.merge({coin.name => a[0][:close].to_f})
537
+ r.merge({coin.name => price.to_f})
460
538
  else
461
539
  r
462
540
  end
@@ -481,7 +559,7 @@ class CryptocoinFanboi
481
559
 
482
560
  if year_start_price then
483
561
 
484
- latest_day = coin.price_usd.to_f
562
+ latest_day = coin.quote['USD']['price'].to_f
485
563
  puts "latest_day: %s year_start: %s" % \
486
564
  [latest_day, year_start_price] if @debug
487
565
  r.merge({coin.name => (100.0 / (year_start_price /
@@ -496,9 +574,14 @@ class CryptocoinFanboi
496
574
 
497
575
  def sort_coins(period='7d', limit: 5, rank: :top)
498
576
 
499
- a = @coins.sort_by {|x| -x['percent_change_' + period].to_f}
577
+ puts 'sorting coins ...'.info if @debug
578
+ puts '@coins[0]: ' + @coins[0].inspect
579
+
580
+ a = @coins.sort_by {|x| -x.quote['USD']['percent_change_' + period].to_f}
500
581
  a.reverse! if rank == :bottom
501
- a.take(limit).map {|coin| @fields.map {|key| coin[key] }}
582
+ a.take(limit).map do |coin|
583
+ [coin.cmc_rank, coin.name] + @fields.map {|key| coin.quote['USD'][key].round(2) }
584
+ end
502
585
 
503
586
  end
504
587
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptocoin_fanboi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,170 +10,195 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwMTAxMTUyOTA5WhcN
15
- MTkwMTAxMTUyOTA5WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCpXhDL
17
- e2JxhzdO329Vgleg5uFMyOpzvGdE0DTCxEPuJI3eLHly8LlP5L5QbL52eV5nsr0h
18
- GRrhJfyFw98UzZrLy1HQGzLakcY5Bg7F9o6WSOskpr10XCbbYDhIPkghtYfXEkPW
19
- PV8p2IU9PcSuZU4hyurz0rxiiWfm+L5I4d+ic9iKg9nuoRwF7EkAPZIa2JstFNiw
20
- jNs4b3NHM5/DsCqDT4gZ9tESIxCLXYkrhEJkfcJ2hm3O3Oqp/eitz05HzrBR9P+T
21
- K1VNjNVvwgIj6jSTxFV2UycULgPEw6mn4UF9ra0KH+id6bFNOofBiyM4K/mgKniU
22
- Yk1IoDMN39bA/9kFAgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFMASrCuC4tq/MTj5dOlN+6WJ4k2vMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAEk3jmanZhBHrp4a3GAt
26
- 0xM4MwXCT1WOhOxuRPuzmS9nGY6TPajbuqZqOkPKs3DTTjlkqjI4bcVe3Mo80mNV
27
- G+5aUDLavpo3MR6yrcfzY0jkR2c5gH818JNIGsq/aQMkm36WV9fjIkroRYIAFeh6
28
- qr6d7tVVC5iZO7Kis/rHVnl+2YbRRKRGeKpRy5xc0QLf6+Vd/+12o9XRWGuokYUF
29
- 7LC3NfVXVGoVb+BtcEDRmXje7XRl4P6YXJXmXXjRffOejiQAAYAy4RepBCerTM7X
30
- NgmsFfw10oaD3PWQ7UPxWJP14au2LUL+NGHkLrGHOMPphsZhYeXKugGO8NfcKukq
31
- fps=
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMjEwNTAyMTcxNTQ3WhcN
15
+ MjIwNTAyMTcxNTQ3WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQD1nGup
17
+ 7mMwGHuKirtgJDX5vuWZIfoJX2q6HmvGlzN4X9mg0HGumdxcn8hB87fhA7ZrABke
18
+ RvddmFeXJSlZDMtQ3Wrax16yp1wRGfL0yyPcTyTSWjldIZJEb+VkmUjnvvpqZNgU
19
+ JYfD5pMw68no7Sd90aoAjPI3Col8G8WXSyZTgUb/VBTtr5F0w/S0Vq70pe1ELXax
20
+ iBKvxKStzCtAIsppWmP0qicesKH6vX2aQexnUFRRoPIYMbSuPrWv6sESSShtkm2O
21
+ UC55cjaBSuvo3puRbPWmtB3Sopu5aaWgOrBIsXG0DnT3w9qguASUx6ERbUKrUS0o
22
+ h01mNPLPq97shGMP+zQrSxwOBxSxFeBwuzoNg8fTJ4TUjCz5cbHKSQE87VDmbpte
23
+ IKnUuMQ1AleMUkId9Qu2hMCgZodNAswPhK4te6xBBo62h1ZeisShi9ZfzqQ4ZJUd
24
+ Gz77jLxRbw4ffLAakevQaYkcGkzvMxF8F4zyYvSr6XChab4ySiOoiqR44HUCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUCg7Bg911
26
+ lYjihiJmU/amUBfS5XIwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAHqoUl4+Eb0XXSoSN2kn4FK0+lwCWzvsw1no8VVvz
29
+ X4Yzcxpx076sR97xax4S6++nOnULXp0U1dh5ohHbwN96soWUbtCUGc0ATI27BWMd
30
+ rGe6jvur7Aoc2RpOYF32gOcZGScHQnvptyKFA+iV2fLeC7X1EkP9zRa8FxBatbbq
31
+ Irrofi01zMrPy2GMtbmaBDQwyEvw10Mj4zPEFRO9HchS3Ufb0XzAjf0p+XYG6GOs
32
+ HNE6h7xQL14l/H74Nj6JQksFew5MwO45kkCaenQXOt6+OaoFayyp6MXjyHXsR6k/
33
+ X3MsM9Yluc0zjhjipc6i3lyqN/OyMy3RTbi25iTPeIFyl4n0F5OR1y+DXy2ZN6Xb
34
+ jMyolu6Fvw4RyX+8S7/yxACBenRqrBgjoRfardaubu7lhZAt9mRjKApWpRnTm4pX
35
+ 8apOj5Vc5mSZcvmZkImt0L0+RfWgzVjyK6LWXmWC0fkURO1c8pu+DEn2QI5HEKpD
36
+ zda3SGyo8CEr8HOwCV4H0aAY
32
37
  -----END CERTIFICATE-----
33
- date: 2018-06-08 00:00:00.000000000 Z
38
+ date: 2021-05-04 00:00:00.000000000 Z
34
39
  dependencies:
35
40
  - !ruby/object:Gem::Dependency
36
41
  name: colored
37
42
  requirement: !ruby/object:Gem::Requirement
38
43
  requirements:
39
- - - "~>"
44
+ - - ">="
40
45
  - !ruby/object:Gem::Version
41
46
  version: '1.2'
42
- - - ">="
47
+ - - "~>"
43
48
  - !ruby/object:Gem::Version
44
49
  version: '1.2'
45
50
  type: :runtime
46
51
  prerelease: false
47
52
  version_requirements: !ruby/object:Gem::Requirement
48
53
  requirements:
49
- - - "~>"
54
+ - - ">="
50
55
  - !ruby/object:Gem::Version
51
56
  version: '1.2'
52
- - - ">="
57
+ - - "~>"
53
58
  - !ruby/object:Gem::Version
54
59
  version: '1.2'
55
60
  - !ruby/object:Gem::Dependency
56
- name: chronic
61
+ name: coinmarketcap_lite
57
62
  requirement: !ruby/object:Gem::Requirement
58
63
  requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.10'
62
64
  - - ">="
63
65
  - !ruby/object:Gem::Version
64
- version: 0.10.2
66
+ version: 0.1.0
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.1'
65
70
  type: :runtime
66
71
  prerelease: false
67
72
  version_requirements: !ruby/object:Gem::Requirement
68
73
  requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: '0.10'
72
74
  - - ">="
73
75
  - !ruby/object:Gem::Version
74
- version: 0.10.2
76
+ version: 0.1.0
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.1'
75
80
  - !ruby/object:Gem::Dependency
76
- name: coinmarketcap
81
+ name: table-formatter
77
82
  requirement: !ruby/object:Gem::Requirement
78
83
  requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '0.2'
82
84
  - - ">="
83
85
  - !ruby/object:Gem::Version
84
- version: 0.2.4
86
+ version: 0.7.0
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.7'
85
90
  type: :runtime
86
91
  prerelease: false
87
92
  version_requirements: !ruby/object:Gem::Requirement
88
93
  requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '0.2'
92
94
  - - ">="
93
95
  - !ruby/object:Gem::Version
94
- version: 0.2.4
96
+ version: 0.7.0
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.7'
95
100
  - !ruby/object:Gem::Dependency
96
- name: table-formatter
101
+ name: kramdown
97
102
  requirement: !ruby/object:Gem::Requirement
98
103
  requirements:
99
- - - "~>"
100
- - !ruby/object:Gem::Version
101
- version: '0.5'
102
104
  - - ">="
103
105
  - !ruby/object:Gem::Version
104
- version: 0.5.0
106
+ version: 2.1.0
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '2.1'
105
110
  type: :runtime
106
111
  prerelease: false
107
112
  version_requirements: !ruby/object:Gem::Requirement
108
113
  requirements:
109
- - - "~>"
110
- - !ruby/object:Gem::Version
111
- version: '0.5'
112
114
  - - ">="
113
115
  - !ruby/object:Gem::Version
114
- version: 0.5.0
116
+ version: 2.1.0
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.1'
115
120
  - !ruby/object:Gem::Dependency
116
- name: rexle
121
+ name: justexchangerates
117
122
  requirement: !ruby/object:Gem::Requirement
118
123
  requirements:
119
124
  - - "~>"
120
125
  - !ruby/object:Gem::Version
121
- version: '1.4'
126
+ version: '0.3'
122
127
  - - ">="
123
128
  - !ruby/object:Gem::Version
124
- version: 1.4.12
129
+ version: 0.3.4
125
130
  type: :runtime
126
131
  prerelease: false
127
132
  version_requirements: !ruby/object:Gem::Requirement
128
133
  requirements:
129
134
  - - "~>"
130
135
  - !ruby/object:Gem::Version
131
- version: '1.4'
136
+ version: '0.3'
132
137
  - - ">="
133
138
  - !ruby/object:Gem::Version
134
- version: 1.4.12
139
+ version: 0.3.4
135
140
  - !ruby/object:Gem::Dependency
136
- name: kramdown
141
+ name: coinquery
137
142
  requirement: !ruby/object:Gem::Requirement
138
143
  requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '1.16'
142
144
  - - ">="
143
145
  - !ruby/object:Gem::Version
144
- version: 1.16.2
146
+ version: 0.2.0
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.2'
145
150
  type: :runtime
146
151
  prerelease: false
147
152
  version_requirements: !ruby/object:Gem::Requirement
148
153
  requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: 0.2.0
149
157
  - - "~>"
150
158
  - !ruby/object:Gem::Version
151
- version: '1.16'
159
+ version: '0.2'
160
+ - !ruby/object:Gem::Dependency
161
+ name: coin360api21
162
+ requirement: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: 0.2.0
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '0.2'
170
+ type: :runtime
171
+ prerelease: false
172
+ version_requirements: !ruby/object:Gem::Requirement
173
+ requirements:
152
174
  - - ">="
153
175
  - !ruby/object:Gem::Version
154
- version: 1.16.2
176
+ version: 0.2.0
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '0.2'
155
180
  - !ruby/object:Gem::Dependency
156
- name: justexchangerates
181
+ name: remote_dwsregistry
157
182
  requirement: !ruby/object:Gem::Requirement
158
183
  requirements:
159
184
  - - "~>"
160
185
  - !ruby/object:Gem::Version
161
- version: '0.3'
186
+ version: '0.4'
162
187
  - - ">="
163
188
  - !ruby/object:Gem::Version
164
- version: 0.3.2
189
+ version: 0.4.1
165
190
  type: :runtime
166
191
  prerelease: false
167
192
  version_requirements: !ruby/object:Gem::Requirement
168
193
  requirements:
169
194
  - - "~>"
170
195
  - !ruby/object:Gem::Version
171
- version: '0.3'
196
+ version: '0.4'
172
197
  - - ">="
173
198
  - !ruby/object:Gem::Version
174
- version: 0.3.2
199
+ version: 0.4.1
175
200
  description:
176
- email: james@jamesrobertson.eu
201
+ email: digital.robertson@gmail.com
177
202
  executables: []
178
203
  extensions: []
179
204
  extra_rdoc_files: []
@@ -199,7 +224,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
224
  version: '0'
200
225
  requirements: []
201
226
  rubyforge_project:
202
- rubygems_version: 2.6.13
227
+ rubygems_version: 2.7.10
203
228
  signing_key:
204
229
  specification_version: 4
205
230
  summary: A coinmarketcap wrapper which makes it convenient to display the top 5 cryptocurrencies
metadata.gz.sig CHANGED
Binary file