cryptocoin_fanboi 0.6.0 → 0.8.1
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/lib/cryptocoin_fanboi.rb +118 -26
- metadata +74 -73
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9b0a089e97181c6298d1ec7f49c8451131e42bf3e2bb3ffd167e8b9927816007
|
4
|
+
data.tar.gz: 232c3b6ef7051400b6730849952b24578ba1fcf14d2b5904ddae5f67e70d9993
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77aebee28ecf4304c597d8db3833d3bab6891d469f2d85fd995198543c5d00164ac3d043a58c576cb9c38b19231cf3b01cf414be77c82060ae99bf84ee549791
|
7
|
+
data.tar.gz: 4a2ffc7e8a62612e1f03c124a00bd67789316ff8caf8ea13bbafdb3b38a6e10e5491bd80d2e7f0e159a88f78856708ba4b7cebc5d27e0f07aa6b1ccfcd91f05f
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/lib/cryptocoin_fanboi.rb
CHANGED
@@ -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 '
|
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
|
|
@@ -69,6 +86,8 @@ class CryptocoinFanboi
|
|
69
86
|
|
70
87
|
@colored, @debug, @filepath = colored, debug, filepath
|
71
88
|
@exchangerate_key, @cmc_apikey = exchangerate_key, cmc_apikey
|
89
|
+
puts 'before coinquery'
|
90
|
+
@cq = CoinQuery.new(dym: false, timeout: 7, debug: debug)
|
72
91
|
|
73
92
|
@watch= watch.map(&:upcase)
|
74
93
|
@ignore = ignore.map(&:upcase)
|
@@ -77,16 +96,24 @@ class CryptocoinFanboi
|
|
77
96
|
#@fields = %w(rank name price_usd price_btc percent_change_1h
|
78
97
|
# percent_change_24h percent_change_7d percent_change_year)
|
79
98
|
|
80
|
-
|
81
|
-
@fields = %w(price
|
99
|
+
pct_fields = %w(1h 24h 7d 30d 60d 90d).map {|x| 'percent_change_' + x}
|
100
|
+
@fields = %w(price) + pct_fields
|
82
101
|
|
83
102
|
@year = Time.now.year
|
84
103
|
#@labels = %w(Rank Name USD BTC) + ['% 1hr:', '% 24hr:',
|
85
104
|
# '% 1 week:', '% ' + @year.to_s + ':']
|
86
105
|
@labels = %w(Rank Name USD) + ['% 1hr:', '% 24hr:',
|
87
|
-
|
88
|
-
|
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
|
89
115
|
|
116
|
+
=begin
|
90
117
|
# check for the local cache file containing a record of currency
|
91
118
|
# prices from the start of the year
|
92
119
|
|
@@ -125,7 +152,7 @@ class CryptocoinFanboi
|
|
125
152
|
puts '@growth: ' + @growth.inspect if @debug
|
126
153
|
|
127
154
|
@coins = add_year_growth coins
|
128
|
-
|
155
|
+
=end
|
129
156
|
|
130
157
|
end
|
131
158
|
|
@@ -239,13 +266,13 @@ class CryptocoinFanboi
|
|
239
266
|
date = if raw_date.is_a? Date then
|
240
267
|
raw_date.strftime("%Y%m%d")
|
241
268
|
else
|
242
|
-
Chronic.parse(raw_date.gsub('-',' ')).strftime("%
|
269
|
+
Chronic.parse(raw_date.gsub('-',' ')).strftime("%d%m%Y")
|
243
270
|
end
|
244
271
|
puts 'date: ' + date.inspect if @debug
|
245
272
|
|
246
273
|
# if date is today then return today's price
|
247
274
|
|
248
|
-
if date == Date.today.strftime("%
|
275
|
+
if date == Date.today.strftime("%d%m%Y")
|
249
276
|
puts 'same day' if @debug
|
250
277
|
return self.coin(coin).quote['USD']['price'].to_f
|
251
278
|
end
|
@@ -261,11 +288,12 @@ class CryptocoinFanboi
|
|
261
288
|
puts 'date: ' + date.inspect
|
262
289
|
end
|
263
290
|
|
264
|
-
a = Coinmarketcap.get_historical_price(coin.gsub(/ /,'-'), date, date)
|
265
|
-
puts 'a: ' + a.inspect if @debug
|
266
|
-
|
267
|
-
r = a.any? ? a.first[:close] : self.coin(coin).quote['USD']['price'].to_f
|
291
|
+
#a = Coinmarketcap.get_historical_price(coin.gsub(/ /,'-'), date, date)
|
292
|
+
#puts 'a: ' + a.inspect if @debug
|
268
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
|
269
297
|
@history_prices[coin] ||= {}
|
270
298
|
@history_prices[coin][date] = r
|
271
299
|
File.write @historic_prices_file, @history_prices.to_yaml
|
@@ -279,6 +307,21 @@ class CryptocoinFanboi
|
|
279
307
|
|
280
308
|
end
|
281
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
|
+
|
282
325
|
def prices_this_year(coin)
|
283
326
|
|
284
327
|
(Date.parse('1 Jan')..Date.today).map do |date|
|
@@ -305,13 +348,26 @@ class CryptocoinFanboi
|
|
305
348
|
#
|
306
349
|
def this_week(limit: 5, markdown: false, rank: :top)
|
307
350
|
|
308
|
-
coins = sort_coins(limit: limit, rank: rank)
|
351
|
+
coins = sort_coins('7d', limit: limit, rank: rank)
|
309
352
|
build_table coins, markdown: markdown
|
310
353
|
|
311
354
|
end
|
312
355
|
|
313
356
|
alias week this_week
|
314
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
|
+
|
315
371
|
# View the coins with the largest gains this
|
316
372
|
# year (since the start of the year)
|
317
373
|
#
|
@@ -334,6 +390,13 @@ class CryptocoinFanboi
|
|
334
390
|
alias last_day today
|
335
391
|
alias day today
|
336
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
|
+
|
337
400
|
def to_html()
|
338
401
|
|
339
402
|
xpath = (5..8).map {|x| 'tbody/tr/td[' + x.to_s + ']' }.join(' | ')
|
@@ -361,7 +424,7 @@ class CryptocoinFanboi
|
|
361
424
|
puts ('coin: ' + coin.inspect).debug if @debug
|
362
425
|
a2 = %w(cmc_rank name).map {|x| coin[x]}
|
363
426
|
puts 'a2: ' + a2.inspect
|
364
|
-
a3 = @fields.map {|x| coin['quote']['USD'][x] }
|
427
|
+
a3 = @fields.map {|x| coin['quote']['USD'][x].to_f.round(2) }
|
365
428
|
puts 'a3: ' + a3.inspect
|
366
429
|
a2 + a3
|
367
430
|
end
|
@@ -412,8 +475,8 @@ class CryptocoinFanboi
|
|
412
475
|
puts 'labels: ' + labels.inspect
|
413
476
|
end
|
414
477
|
|
415
|
-
s = TableFormatter.new(source: source, labels: labels,
|
416
|
-
|
478
|
+
s = TableFormatter.new(source: source, labels: labels, divider: '|',
|
479
|
+
markdown: markdown).display
|
417
480
|
|
418
481
|
return s if @colored == false or markdown
|
419
482
|
|
@@ -423,8 +486,9 @@ class CryptocoinFanboi
|
|
423
486
|
|
424
487
|
fields = line.split('|')
|
425
488
|
|
426
|
-
a2 = fields[
|
427
|
-
|
489
|
+
a2 = fields[4..-2].map {|x| c(x) }
|
490
|
+
puts 'at: ' + a2.inspect if @debug
|
491
|
+
(fields[0..3] + a2 + ["\n"]).join('|')
|
428
492
|
|
429
493
|
end
|
430
494
|
|
@@ -455,20 +519,22 @@ class CryptocoinFanboi
|
|
455
519
|
|
456
520
|
coins.inject({}) do |r, coin|
|
457
521
|
|
458
|
-
day1 = @year.to_s
|
522
|
+
day1 = '01-01-' + @year.to_s
|
459
523
|
puts 'coin: ' + coin.name.inspect if @debug
|
460
524
|
|
461
525
|
begin
|
462
526
|
|
463
|
-
a = Coinmarketcap.get_historical_price(coin.name.gsub(/ /,'-'),
|
464
|
-
|
527
|
+
#a = Coinmarketcap.get_historical_price(coin.name.gsub(/ /,'-'),
|
528
|
+
# day1, day1)
|
529
|
+
price = @cq.historical_price coin.symbol, day1
|
530
|
+
|
465
531
|
rescue
|
466
532
|
puts 'warning : ' + coin.name.inspect + ' ' + ($!).inspect
|
467
533
|
end
|
468
534
|
|
469
|
-
if
|
535
|
+
if price then
|
470
536
|
|
471
|
-
r.merge({coin.name =>
|
537
|
+
r.merge({coin.name => price.to_f})
|
472
538
|
else
|
473
539
|
r
|
474
540
|
end
|
@@ -508,14 +574,40 @@ class CryptocoinFanboi
|
|
508
574
|
|
509
575
|
def sort_coins(period='7d', limit: 5, rank: :top)
|
510
576
|
|
511
|
-
|
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}
|
512
581
|
a.reverse! if rank == :bottom
|
513
|
-
a.take(limit).map
|
582
|
+
a.take(limit).map do |coin|
|
583
|
+
[coin.cmc_rank, coin.name] + @fields.map {|key| coin.quote['USD'][key].round(2) }
|
584
|
+
end
|
514
585
|
|
515
586
|
end
|
516
587
|
|
517
588
|
end
|
518
589
|
|
590
|
+
class CryptocoinFanboiPlus < CryptocoinFanboi
|
591
|
+
|
592
|
+
def initialize(reg_domain, watch: [], ignore: [], colored: true, debug: false,
|
593
|
+
filepath: '.')
|
594
|
+
|
595
|
+
reg = RemoteDwsRegistry.new domain: reg_domain
|
596
|
+
|
597
|
+
exchangerate_key = JustExchangeRatesPlus.fetch_app_id(reg)
|
598
|
+
puts 'exchangerate_key:' + exchangerate_key.inspect if debug
|
599
|
+
|
600
|
+
cmc_apikey = CoinmarketcapLitePlus.fetch_apikey(reg)
|
601
|
+
puts 'cmc_apikey: ' + cmc_apikey.inspect if debug
|
602
|
+
|
603
|
+
super(watch: watch, ignore: ignore, colored: colored, debug: debug,
|
604
|
+
filepath: filepath, exchangerate_key: exchangerate_key,
|
605
|
+
cmc_apikey: cmc_apikey)
|
606
|
+
|
607
|
+
end
|
608
|
+
|
609
|
+
end
|
610
|
+
|
519
611
|
|
520
612
|
|
521
613
|
if __FILE__ == $0 then
|
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.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -11,31 +11,31 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
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
27
|
c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
/
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2021-05-04 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: colored
|
@@ -58,147 +58,147 @@ dependencies:
|
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: '1.2'
|
60
60
|
- !ruby/object:Gem::Dependency
|
61
|
-
name:
|
61
|
+
name: coinmarketcap_lite
|
62
62
|
requirement: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
|
-
- - "~>"
|
65
|
-
- !ruby/object:Gem::Version
|
66
|
-
version: '0.10'
|
67
64
|
- - ">="
|
68
65
|
- !ruby/object:Gem::Version
|
69
|
-
version: 0.
|
66
|
+
version: 0.1.0
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0.1'
|
70
70
|
type: :runtime
|
71
71
|
prerelease: false
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
|
-
- - "~>"
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: '0.10'
|
77
74
|
- - ">="
|
78
75
|
- !ruby/object:Gem::Version
|
79
|
-
version: 0.
|
76
|
+
version: 0.1.0
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0.1'
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
81
|
+
name: table-formatter
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
83
83
|
requirements:
|
84
84
|
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: 0.
|
86
|
+
version: 0.7.0
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '0.
|
89
|
+
version: '0.7'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.7.0
|
97
97
|
- - "~>"
|
98
98
|
- !ruby/object:Gem::Version
|
99
|
-
version: '0.
|
99
|
+
version: '0.7'
|
100
100
|
- !ruby/object:Gem::Dependency
|
101
|
-
name:
|
101
|
+
name: kramdown
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
103
103
|
requirements:
|
104
104
|
- - ">="
|
105
105
|
- !ruby/object:Gem::Version
|
106
|
-
version:
|
106
|
+
version: 2.1.0
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
109
|
+
version: '2.1'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - ">="
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version:
|
116
|
+
version: 2.1.0
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '
|
119
|
+
version: '2.1'
|
120
120
|
- !ruby/object:Gem::Dependency
|
121
|
-
name:
|
121
|
+
name: justexchangerates
|
122
122
|
requirement: !ruby/object:Gem::Requirement
|
123
123
|
requirements:
|
124
|
-
- - ">="
|
125
|
-
- !ruby/object:Gem::Version
|
126
|
-
version: 0.7.0
|
127
124
|
- - "~>"
|
128
125
|
- !ruby/object:Gem::Version
|
129
|
-
version: '0.
|
126
|
+
version: '0.3'
|
127
|
+
- - ">="
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: 0.3.4
|
130
130
|
type: :runtime
|
131
131
|
prerelease: false
|
132
132
|
version_requirements: !ruby/object:Gem::Requirement
|
133
133
|
requirements:
|
134
|
-
- - ">="
|
135
|
-
- !ruby/object:Gem::Version
|
136
|
-
version: 0.7.0
|
137
134
|
- - "~>"
|
138
135
|
- !ruby/object:Gem::Version
|
139
|
-
version: '0.
|
136
|
+
version: '0.3'
|
137
|
+
- - ">="
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: 0.3.4
|
140
140
|
- !ruby/object:Gem::Dependency
|
141
|
-
name:
|
141
|
+
name: coinquery
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
143
143
|
requirements:
|
144
|
-
- - "~>"
|
145
|
-
- !ruby/object:Gem::Version
|
146
|
-
version: '1.5'
|
147
144
|
- - ">="
|
148
145
|
- !ruby/object:Gem::Version
|
149
|
-
version:
|
146
|
+
version: 0.2.0
|
147
|
+
- - "~>"
|
148
|
+
- !ruby/object:Gem::Version
|
149
|
+
version: '0.2'
|
150
150
|
type: :runtime
|
151
151
|
prerelease: false
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
153
153
|
requirements:
|
154
|
-
- - "~>"
|
155
|
-
- !ruby/object:Gem::Version
|
156
|
-
version: '1.5'
|
157
154
|
- - ">="
|
158
155
|
- !ruby/object:Gem::Version
|
159
|
-
version:
|
156
|
+
version: 0.2.0
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0.2'
|
160
160
|
- !ruby/object:Gem::Dependency
|
161
|
-
name:
|
161
|
+
name: coin360api21
|
162
162
|
requirement: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 2.
|
166
|
+
version: 0.2.0
|
167
167
|
- - "~>"
|
168
168
|
- !ruby/object:Gem::Version
|
169
|
-
version: '2
|
169
|
+
version: '0.2'
|
170
170
|
type: :runtime
|
171
171
|
prerelease: false
|
172
172
|
version_requirements: !ruby/object:Gem::Requirement
|
173
173
|
requirements:
|
174
174
|
- - ">="
|
175
175
|
- !ruby/object:Gem::Version
|
176
|
-
version: 2.
|
176
|
+
version: 0.2.0
|
177
177
|
- - "~>"
|
178
178
|
- !ruby/object:Gem::Version
|
179
|
-
version: '2
|
179
|
+
version: '0.2'
|
180
180
|
- !ruby/object:Gem::Dependency
|
181
|
-
name:
|
181
|
+
name: remote_dwsregistry
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
183
183
|
requirements:
|
184
184
|
- - "~>"
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: '0.
|
186
|
+
version: '0.4'
|
187
187
|
- - ">="
|
188
188
|
- !ruby/object:Gem::Version
|
189
|
-
version: 0.
|
189
|
+
version: 0.4.1
|
190
190
|
type: :runtime
|
191
191
|
prerelease: false
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
193
193
|
requirements:
|
194
194
|
- - "~>"
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: '0.
|
196
|
+
version: '0.4'
|
197
197
|
- - ">="
|
198
198
|
- !ruby/object:Gem::Version
|
199
|
-
version: 0.
|
199
|
+
version: 0.4.1
|
200
200
|
description:
|
201
|
-
email:
|
201
|
+
email: digital.robertson@gmail.com
|
202
202
|
executables: []
|
203
203
|
extensions: []
|
204
204
|
extra_rdoc_files: []
|
@@ -223,7 +223,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
223
|
- !ruby/object:Gem::Version
|
224
224
|
version: '0'
|
225
225
|
requirements: []
|
226
|
-
|
226
|
+
rubyforge_project:
|
227
|
+
rubygems_version: 2.7.10
|
227
228
|
signing_key:
|
228
229
|
specification_version: 4
|
229
230
|
summary: A coinmarketcap wrapper which makes it convenient to display the top 5 cryptocurrencies
|
metadata.gz.sig
CHANGED
Binary file
|