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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3c86009df177b7e5ae8425d51ead3aa2a789113
4
- data.tar.gz: badb8be4b2de39771f141ebeb194d4eba15845ae
3
+ metadata.gz: 92e03439c2069cb5efff8470b7ab6629ef285edb
4
+ data.tar.gz: a940ac590504c33051a43cca3f911de6c0116d9d
5
5
  SHA512:
6
- metadata.gz: 7e842f8382ff854819360094bad7c62f67192d3e8a85fcd6f1fae675394aa9a811fa6561a643d6abe98f325650e07e51d9044ab0743fa25d074920c7c99608c5
7
- data.tar.gz: 7079d59d89ddd5a16a9026b710135ce88b31def619e748aa31d2e94c7e80863b8d1affddbf030e753c0290fcbbdaf8644b29b94d285df13b5748f24bf4d13fcb
6
+ metadata.gz: 55d10df7d38df79610bde99788f25d6701cbb15cac0b7e02a5148169ac48f603f0bf5e1a6603030790b79ea67a9091af6d87f860a50d5d589397fe1ab9c389df
7
+ data.tar.gz: c3fef6fe3e5260b748a2ba0bfaee891a6f098388621f8e39d27916591a64d0bcb06d87a65416e66afd9f5ca86efa141ce936b7af3caecd176bb5b284ba8bda99
@@ -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
- s = @friendly_name + ' (' + @symbol + ') ' + ytd_return_rounded.to_s + '%'
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*,*\d+\.\d+)/.match(@css_text)
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*,*\d+\.\d+)/.match(@css_text)
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
 
@@ -1,18 +1,13 @@
1
1
  require 'minitest/autorun'
2
2
  require 'finance-ytd'
3
3
 
4
- class FinanceYtdTest < Minitest::Unit::TestCase
5
- def test
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.2
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-07-16 00:00:00.000000000 Z
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.0.15
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