yfinance 1.0.3 → 1.0.4

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: 98f8be13814463fc01eae9f18f585ab71febae8e
4
- data.tar.gz: 95aa6ed0c2d29dc538cd4addb4a4b428e70c4301
3
+ metadata.gz: f4c8f8cb69a0ec6b3be6d435fef5f4c7aefd2e0b
4
+ data.tar.gz: 21b6e341cb7eba6c30bc57450dc8263ae9bde03c
5
5
  SHA512:
6
- metadata.gz: c8388c6431bebbb5192d4cecfe0f279d7129d14027678ed61b6cfd25ca622f28f900ebdc591c53ae644d433fc3dfd493ecbe5df2976680d573ae0d58a9f44fdf
7
- data.tar.gz: e42b7224a6e838df45632c841f7eb628ceab86c3ad425749ff1f03c47ed88b66438211d1b3f93552a936a0d59daef29ae13582960931576858514c23ac5126de
6
+ metadata.gz: d168726e7cde571255d627c427cdda5dcdb4d50321092ff847a4d4df032061836aff8f62d51b87fdaad81899f78586ce0066df4eb33296229991a4337013528f
7
+ data.tar.gz: 3bea5eca2dabdb125dae0841526b07cb4f155057ace29128268dc16d088e760fed7470cc06a12a390e170f9268f1efacd95e521b8e2a63fb4102258248f9a15a
data/lib/yfinance.rb CHANGED
@@ -151,9 +151,13 @@ class Yfinance
151
151
  url = "http://download.finance.yahoo.com/d/quotes.csv?s=#{URI.escape(symb_str)}&f=#{columns}"
152
152
  request = Typhoeus::Request.new(url, method: :get)
153
153
  request.on_complete do |response|
154
- result = CSV.parse(response.body, headers: columns_array)
155
- result.each do |row|
156
- ret << OpenStruct.new(row.to_hash)
154
+ begin
155
+ result = CSV.parse(response.body, headers: columns_array)
156
+ result.each do |row|
157
+ ret << row.to_hash#OpenStruct.new(row.to_hash)
158
+ end
159
+ rescue
160
+ ret = {name: "unknown symbol"}#OpenStruct.new(name: "unknown symbol")
157
161
  end
158
162
  return ret
159
163
  end
@@ -181,7 +185,7 @@ class Yfinance
181
185
  if response.body[0..40] != "Date,Open,High,Low,Close,Volume,Adj Close"
182
186
  raise YahooFinanceException.new(" * Error: Unknown response body from Yahoo - #{ response.body[0..40] } ...")
183
187
  else
184
- result = CSV.parse(response.body, headers: cols)
188
+ result = CSV.parse(response.body, headers: cols).to_a
185
189
  result.delete(0)
186
190
  callback.call(result)
187
191
  end
@@ -16,7 +16,19 @@ class YfinanceTest < Minitest::Test
16
16
  def test_it_works_requesting_all_data_for_valid_symbols
17
17
  yf = Yfinance.new
18
18
  res = yf.quotes_all_info(["AAPL", "TWTR", "TEP.L"])
19
- assert_equal res.length, 2
19
+ assert_equal res.length, 3
20
+ end
21
+
22
+ def test_it_works_requesting_all_data_for_one_invalid_symbol
23
+ yf = Yfinance.new
24
+ res = yf.quotes_all_info(["asdfasdfiajsodfi"])
25
+ assert_equal res.name, "unknown symbol"
26
+ end
27
+
28
+ def test_it_works_requesting_all_data_for_a_mix_of_valid_and_invalid__symbols
29
+ yf = Yfinance.new
30
+ res = yf.quotes_all_info(["AAPL", "asdfasdfiajsodfi", "MSFT"])
31
+ assert_equal res, "unknown symbol"
20
32
  end
21
33
 
22
34
  end
data/yfinance.gemspec CHANGED
@@ -5,7 +5,7 @@ require 'yfinance'
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "yfinance"
8
- spec.version = "1.0.3"
8
+ spec.version = "1.0.4"
9
9
  spec.authors = ["Alexander Potrykus"]
10
10
  spec.email = ["alexander@risklog.io"]
11
11
  spec.summary = %q{Fetches Yahoo! Finance data using parallel HTTP requests.}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yfinance
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Potrykus
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-26 00:00:00.000000000 Z
11
+ date: 2014-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -102,7 +102,8 @@ licenses:
102
102
  metadata: {}
103
103
  post_install_message:
104
104
  rdoc_options: []
105
- require_paths: lib
105
+ require_paths:
106
+ - lib
106
107
  required_ruby_version: !ruby/object:Gem::Requirement
107
108
  requirements:
108
109
  - - ">="
@@ -115,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
116
  version: '0'
116
117
  requirements: []
117
118
  rubyforge_project:
118
- rubygems_version: 2.2.2
119
+ rubygems_version: 2.4.1
119
120
  signing_key:
120
121
  specification_version: 4
121
122
  summary: Fetches Yahoo! Finance data using parallel HTTP requests.