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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2f9227928f47893e06ce347fdc835dfcdbbb2934
4
- data.tar.gz: d9f3aeef88fd03ab9fc7b64aa19a382636785cf8
3
+ metadata.gz: 65db69d59ded9743f0a39831d0af2125ff5f810f
4
+ data.tar.gz: eada59b0251d4249940fda0eae44155fe6990465
5
5
  SHA512:
6
- metadata.gz: 6929886a23a16c15de09ba8f6c26d87c89e9ab3a61abb869090f841038b5d8a4002ad89b57d583cf4ab2e37600e0baefa6cc7cbab7882f1bb9ad4dd0ee7f1890
7
- data.tar.gz: 8637ae9b34d35d9a78cdde39582c3d4415cbbb407de39993c62e1a889da04e58e2e0805df9264aaafc5d8bc1f907ad1488da982bb6524417e8a98df02b8d6ad7
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
- def initialize(source, date: nil, debug: false)
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
- end
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
- b/���`���v�} \��ٞ8VL�����
2
- �j4�!���b=���=޵�U�$������I����9�
3
- HY�����FF���]t0T�>T���S����Ҍ��o6o j��]�AR�/B(@&�M>���扎^�-��w�|1ﴦ�,�Ri���HM�⫂��.d�ZH<N4�=��39)��Zg��&�:����0��ҋ�"+�� Q�䫢^����󻾊)p����r��ʼn����v����-�[C��x.
1
+ wRA5
2
+ [uƯb=���Q����� ��Z
3
+ �Ǣ�1&6��leq�-�����'v��Eo)\a�phB+Sx�Ї��'�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|����Uy�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.1.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-05 00:00:00.000000000 Z
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.3
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.3
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