finance-ytd 0.1.2 → 0.1.3

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: 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