mycoins 0.1.0 → 0.2.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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/mycoins.rb +61 -3
- data.tar.gz.sig +3 -3
- metadata +25 -5
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65db69d59ded9743f0a39831d0af2125ff5f810f
|
4
|
+
data.tar.gz: eada59b0251d4249940fda0eae44155fe6990465
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 58a8b65d293824ee97ea6c5107c492163c46de6c737fb433c1271ca7e6d41850cc71093a85ebf3728a8d9f1e9e4bef3b3676835e2b14241c3d7f2e75890a0dce
|
7
|
+
data.tar.gz: 9cabfdecf7dea158fddd01a2051c9ac9dc0e5cf7b11cb8ab08f42b902e2f8f3d17d011d126fe62e2af3dc5eca81173e8532962d2230374473a35e75bcb11be7b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/mycoins.rb
CHANGED
@@ -3,14 +3,17 @@
|
|
3
3
|
# file: mycoins.rb
|
4
4
|
|
5
5
|
require 'dynarex'
|
6
|
+
require 'justexchangerates'
|
6
7
|
require 'cryptocoin_fanboi'
|
7
8
|
|
8
9
|
|
9
10
|
class MyCoins
|
10
11
|
|
11
|
-
|
12
|
+
def initialize(source, date: nil, debug: false, mycurrency: 'USD')
|
12
13
|
|
13
|
-
@debug = debug
|
14
|
+
@debug = debug
|
15
|
+
|
16
|
+
@jer = JustExchangeRates.new(base: 'USD')
|
14
17
|
|
15
18
|
s = RXFHelper.read(source).first
|
16
19
|
|
@@ -25,6 +28,9 @@ class MyCoins
|
|
25
28
|
|
26
29
|
puts '@dx.to_xml: ' + @dx.to_xml if @debug
|
27
30
|
|
31
|
+
@mycurrency = @dx.currency || mycurrency.upcase
|
32
|
+
puts '@mycurrency: ' + @mycurrency.inspect if @debug
|
33
|
+
|
28
34
|
mycoins = @dx.all.inject([]) do |r, mycoin|
|
29
35
|
|
30
36
|
found = c.find mycoin.title
|
@@ -40,4 +46,56 @@ class MyCoins
|
|
40
46
|
def to_s()
|
41
47
|
@ccf.to_s
|
42
48
|
end
|
43
|
-
|
49
|
+
|
50
|
+
def portfolio()
|
51
|
+
|
52
|
+
# print out the coin name, qty,value in USD,value in Sterling, and BTC
|
53
|
+
a = @dx.all.inject([]) do |r, x|
|
54
|
+
|
55
|
+
puts 'x: ' + x.inspect if @debug
|
56
|
+
usd_rate = @ccf.find(x.title).price_usd.to_f
|
57
|
+
|
58
|
+
h = {
|
59
|
+
name: x.title,
|
60
|
+
qty: x.qty,
|
61
|
+
value_usd: (usd_rate * x.qty.to_f).round(2)
|
62
|
+
}
|
63
|
+
|
64
|
+
|
65
|
+
mycurrency = if @mycurrency and @mycurrency != 'USD' then
|
66
|
+
|
67
|
+
local_value = ((usd_rate * x.qty.to_f) * @jer.rate(@mycurrency)).round(2)
|
68
|
+
h.merge!(('value_' + @mycurrency.downcase).to_sym => local_value)
|
69
|
+
|
70
|
+
|
71
|
+
@mycurrency
|
72
|
+
|
73
|
+
else
|
74
|
+
|
75
|
+
'USD'
|
76
|
+
|
77
|
+
end
|
78
|
+
|
79
|
+
r << h
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
coins = a.map {|x| x.values}
|
84
|
+
|
85
|
+
labels = %w(Name Qty USD)
|
86
|
+
labels << @mycurrency if @mycurrency
|
87
|
+
|
88
|
+
puts 'labels: ' + labels.inspect if @debug
|
89
|
+
tf = TableFormatter.new(source: coins, labels: labels)
|
90
|
+
out = tf.display
|
91
|
+
|
92
|
+
total = a.inject(0) do |r, x|
|
93
|
+
r + x[('value_' + @mycurrency.downcase).to_sym]
|
94
|
+
end
|
95
|
+
|
96
|
+
out << "\n\nTotal: %s %s" % [total.round(2), @mycurrency]
|
97
|
+
out
|
98
|
+
|
99
|
+
end
|
100
|
+
|
101
|
+
end
|
data.tar.gz.sig
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
�
|
2
|
-
|
3
|
-
|
1
|
+
w�RA5
|
2
|
+
[uƯb=���Q����� ��Z
|
3
|
+
�Ǣ�1&6��leq�-�����'v��Eo)\a�p�hB+S�x�Ї��'�g��xg+�B繞<mDV�#I��/x#���Jm6+���C� y�n��ɷ�p�X@��Z� �N���j|�'J벲����A��c�]C����|�`!�Zs'��Z���{(�[�=H���u�{��E�k^M|����U�y�pE��i-��
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mycoins
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Robertson
|
@@ -30,7 +30,7 @@ cert_chain:
|
|
30
30
|
sCz5KsiHA9vj8OfrxhYrEb+ML4+J28Umdki7V1vgnQWmnI+Ok2SWlkScgzcmGXF6
|
31
31
|
TJ4=
|
32
32
|
-----END CERTIFICATE-----
|
33
|
-
date: 2018-01-
|
33
|
+
date: 2018-01-06 00:00:00.000000000 Z
|
34
34
|
dependencies:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
36
|
name: dynarex
|
@@ -52,6 +52,26 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.7.27
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: justexchangerates
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.2'
|
62
|
+
- - ">="
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 0.2.0
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - "~>"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '0.2'
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.2.0
|
55
75
|
- !ruby/object:Gem::Dependency
|
56
76
|
name: cryptocoin_fanboi
|
57
77
|
requirement: !ruby/object:Gem::Requirement
|
@@ -61,7 +81,7 @@ dependencies:
|
|
61
81
|
version: '0.2'
|
62
82
|
- - ">="
|
63
83
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.2.
|
84
|
+
version: 0.2.4
|
65
85
|
type: :runtime
|
66
86
|
prerelease: false
|
67
87
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -71,7 +91,7 @@ dependencies:
|
|
71
91
|
version: '0.2'
|
72
92
|
- - ">="
|
73
93
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.2.
|
94
|
+
version: 0.2.4
|
75
95
|
description:
|
76
96
|
email: james@jamesrobertson.eu
|
77
97
|
executables: []
|
@@ -102,5 +122,5 @@ rubyforge_project:
|
|
102
122
|
rubygems_version: 2.6.13
|
103
123
|
signing_key:
|
104
124
|
specification_version: 4
|
105
|
-
summary: mycoins
|
125
|
+
summary: The mycoins gem is intended to show the current value of your cryptocoins.
|
106
126
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|