mycoins 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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