finance-ytd 0.1.2 → 0.1.3
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
- data/lib/finance-ytd.rb +5 -4
- data/test/test-finance-ytd.rb +2 -7
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92e03439c2069cb5efff8470b7ab6629ef285edb
|
4
|
+
data.tar.gz: a940ac590504c33051a43cca3f911de6c0116d9d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55d10df7d38df79610bde99788f25d6701cbb15cac0b7e02a5148169ac48f603f0bf5e1a6603030790b79ea67a9091af6d87f860a50d5d589397fe1ab9c389df
|
7
|
+
data.tar.gz: c3fef6fe3e5260b748a2ba0bfaee891a6f098388621f8e39d27916591a64d0bcb06d87a65416e66afd9f5ca86efa141ce936b7af3caecd176bb5b284ba8bda99
|
data/lib/finance-ytd.rb
CHANGED
@@ -19,7 +19,7 @@ class FinanceYtd
|
|
19
19
|
|
20
20
|
def match
|
21
21
|
page = Nokogiri::HTML(open(@url))
|
22
|
-
@css_text = page.css(@css).text
|
22
|
+
@css_text = page.css(@css).text.gsub(/[$,]/, '')
|
23
23
|
end
|
24
24
|
|
25
25
|
def calculate
|
@@ -28,7 +28,8 @@ class FinanceYtd
|
|
28
28
|
|
29
29
|
def to_s
|
30
30
|
ytd_return_rounded = (@ytd_return * 100.0).round(@decimal_places)
|
31
|
-
|
31
|
+
ytd_return_rounded_string = ('%.' + @decimal_places.to_s + 'f') % ytd_return_rounded.to_s.reverse.gsub(/(\d{3})(?=\d)/, '\\1,').reverse + '%'
|
32
|
+
s = @friendly_name + ' (' + @symbol + ') ' + ytd_return_rounded_string
|
32
33
|
|
33
34
|
if ytd_return_rounded >= 0.0
|
34
35
|
s.bg_green
|
@@ -59,7 +60,7 @@ class ApmexGoldFinanceYtd < FinanceYtd
|
|
59
60
|
|
60
61
|
def match
|
61
62
|
super
|
62
|
-
css_text_match = /(\d
|
63
|
+
css_text_match = /(\d+\.\d+)/.match(@css_text)
|
63
64
|
@price_this_year = css_text_match[1].gsub(',', '').to_f
|
64
65
|
end
|
65
66
|
|
@@ -79,7 +80,7 @@ class ApmexSilverFinanceYtd < FinanceYtd
|
|
79
80
|
|
80
81
|
def match
|
81
82
|
super
|
82
|
-
css_text_match = /(\d
|
83
|
+
css_text_match = /(\d+\.\d+)/.match(@css_text)
|
83
84
|
@price_this_year = css_text_match[1].gsub(',', '').to_f
|
84
85
|
end
|
85
86
|
|
data/test/test-finance-ytd.rb
CHANGED
@@ -1,18 +1,13 @@
|
|
1
1
|
require 'minitest/autorun'
|
2
2
|
require 'finance-ytd'
|
3
3
|
|
4
|
-
class FinanceYtdTest < Minitest::
|
5
|
-
def
|
4
|
+
class FinanceYtdTest < Minitest::Test
|
5
|
+
def test_
|
6
6
|
cnn_etf_tests = []
|
7
7
|
cnn_etf_tests.push({ :symbol => 'VT', :friendly_name => 'World Stocks', :decimal_places => 0 })
|
8
8
|
cnn_etf_tests.push({ :symbol => 'VTI', :friendly_name => 'U.S Stocks', :decimal_places => 0 })
|
9
9
|
cnn_etf_tests.push({ :symbol => 'VXUS', :friendly_name => 'Foreign Stocks', :decimal_places => 0 })
|
10
|
-
cnn_etf_tests.push({ :symbol => 'GDX', :friendly_name => 'Gold Miners', :decimal_places => 0 })
|
11
|
-
cnn_etf_tests.push({ :symbol => 'BND', :friendly_name => 'U.S. Bonds', :decimal_places => 0 })
|
12
|
-
cnn_etf_tests.push({ :symbol => 'IEF', :friendly_name => '10 Year Treasury', :decimal_places => 0 })
|
13
|
-
cnn_etf_tests.push({ :symbol => 'BNDX', :friendly_name => 'Foreign Bonds', :decimal_places => 0 })
|
14
10
|
cnn_etf_tests.push({ :symbol => 'BWZ', :friendly_name => 'Foreign Cash', :decimal_places => 0 })
|
15
|
-
cnn_etf_tests.push({ :symbol => 'XBT', :friendly_name => 'Bitcoin', :decimal_places => 0 })
|
16
11
|
|
17
12
|
cnn_etf_tests.each do |c|
|
18
13
|
f = CnnEtfFinanceYtd.new(c)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: finance-ytd
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- cscribn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Most financial websites show the daily change of assets. The purpose
|
14
14
|
of this gem is to provide year-to-date change. ETFs, mutual funds, and Bitcoin
|
@@ -31,17 +31,17 @@ require_paths:
|
|
31
31
|
- lib
|
32
32
|
required_ruby_version: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
|
-
- -
|
34
|
+
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
36
|
version: '0'
|
37
37
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - ">="
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
42
|
requirements: []
|
43
43
|
rubyforge_project:
|
44
|
-
rubygems_version: 2.
|
44
|
+
rubygems_version: 2.2.3
|
45
45
|
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: Get the year-to-date change for assets in your portfolio, instead of the
|