yfinance 1.0.11 → 1.0.12

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: 246dc6eddd72d55071b137e94a5adc17850be66c
4
- data.tar.gz: 13f32b0307fa2bdfd2404c9e2db65bb15afd01d2
3
+ metadata.gz: 7ac37be4f80052239b7f94fbec8d7fd92448c17a
4
+ data.tar.gz: 4fcb0a16a81cef7025271542655c75419a10b63a
5
5
  SHA512:
6
- metadata.gz: f7e3ed3d417f8b921f8d71945533d73d31b0d6b02d4ced8b5ef24856d5cb147dbfcba4cc662627b3aaa9ffa6023931730dc998be97f44b8b9b9c02ffb450aa28
7
- data.tar.gz: 367305c56a9a76add28e559bcfe0dc4869b3e0dea91501bd9ab43afeb3591cbb7d9b6e5317004ab13b48b2be1923f3d7b2e3b69ad507ff059ca37d944ba90cf4
6
+ metadata.gz: 5071c8726d577c7f78778069527f3926fc0322b6a4e0b2b73aecc49807c8a2e4b9840a0db9f336add9ff625d0610285c1313a2ed99a81825552f648564e87e76
7
+ data.tar.gz: cd44fbb500ee5455487f33885ff934e9d9b1c53d05223089279b344ba8f5dad667159e5c1e2b8d5d286b980eaa930ef758a8d4987808b9adfd7754e26e9e1906
data/lib/yfinance.rb CHANGED
@@ -135,6 +135,25 @@ class Yfinance
135
135
  end
136
136
  end
137
137
 
138
+ # returns daily historical data in one hash
139
+ def daily_historical_data(symbols_array, start_date, end_date)
140
+ result = {}
141
+ callb = Proc.new do |resp|
142
+ result.merge!(resp)
143
+ if result.length == symbols_array.length
144
+ return result
145
+ end
146
+ end
147
+ add_historical_data_query(symbols_array, start_date, end_date, {period: :daily}, &callb)
148
+ run
149
+ end
150
+
151
+ # for each symbol, the callback is executed
152
+ def daily_historical_data_callback(symbols_array, start_date, end_date, &callback)
153
+ add_historical_data_query(symbols_array, start_date, end_date, {period: :daily}, &callback)
154
+ run
155
+ end
156
+
138
157
  def read_symbols(query, &callback)
139
158
  url = "http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=#{query}&callback=YAHOO.Finance.SymbolSuggest.ssCallback"
140
159
  request = Typhoeus::Request.new(url, method: :get)
@@ -47,11 +47,28 @@ class YfinanceTest < Minitest::Test
47
47
  assert_nil res["BCXZA"]
48
48
  end
49
49
  #
50
- def test_historical_data_works
50
+ def test_historical_data_works_for_one_symbol
51
51
  yf = Yfinance.new
52
52
  res = Proc.new { |resp| assert resp["MSFT"].kind_of?(Array)}
53
53
  yf.add_historical_data_query(['MSFT'], '2013-01-01', Date.today, {period: :daily}, &res)
54
54
  yf.run
55
55
  end
56
56
 
57
+ def test_daily_historical_data_is_returned_as_one_hash_for_multiple_symbols
58
+ yf = Yfinance.new
59
+ symbols = ["MSFT", "TEP.L", "TWTR"]
60
+ result = yf.daily_historical_data(symbols, Date.today - 7, Date.today)
61
+ assert_equal symbols.length, result.length
62
+ end
63
+
64
+ def test_daily_historical_data_is_returned_via_callbacks_for_multiple_valid_symbols
65
+ yf = Yfinance.new
66
+ symbols = ["MSFT", "TEP.L", "TWTR"]
67
+ h = Hash.new
68
+ res = Proc.new do |resp|
69
+ assert true
70
+ end
71
+ yf.daily_historical_data_callback(symbols, Date.today - 7, Date.today, &res)
72
+ end
73
+
57
74
  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.11"
8
+ spec.version = "1.0.12"
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.11
4
+ version: 1.0.12
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-10-18 00:00:00.000000000 Z
11
+ date: 2014-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler