yquotes 0.1.7 → 0.1.8
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/yquotes/version.rb +1 -1
- data/lib/yquotes/yahoo.rb +29 -14
- data/lib/yquotes.rb +1 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6dc42bf53b65ad0b48a9aed0a175f7a00974966b
|
4
|
+
data.tar.gz: cc7708a6045547f49bc8c15824c8775f35772bd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50360ff44e037372ea7d01599ecd8f80453c63b24cdba315bd30b3c72f55728cc52e8006dbb7a44c79a6a8afe3c29a78fc48c9597ad0bb2fb86a85ecfa55253d
|
7
|
+
data.tar.gz: 6b09b51b70069edc23c1b81514b0a0a4290eabdb8579410a4a8e9cbcf0f3b9e0a9722ea42f94279e055e7537a5ed38e370ad3ae501999a60f0f45b550dae62f5
|
data/lib/yquotes/version.rb
CHANGED
data/lib/yquotes/yahoo.rb
CHANGED
@@ -14,7 +14,36 @@ module YQuotes
|
|
14
14
|
|
15
15
|
# Get cookie and crumb
|
16
16
|
def initialize
|
17
|
+
fetch_credentials
|
18
|
+
end
|
19
|
+
|
20
|
+
# fetch_csv: fetch historical quotes in csv format
|
21
|
+
def fetch_csv(ticker, start_date=nil, end_date=nil, period='d')
|
22
|
+
connection = nil
|
23
|
+
|
24
|
+
# retry 3-times in case it sends unauthorized
|
25
|
+
3.times do |i|
|
26
|
+
begin
|
27
|
+
url = build_url(ticker, start_date, end_date, period)
|
28
|
+
connection = open(url, 'Cookie' => @cookie)
|
29
|
+
break
|
30
|
+
rescue OpenURI::HTTPError => e
|
31
|
+
fetch_credentials
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
data = CSV.parse(connection.read, :converters => :numeric)
|
36
|
+
|
37
|
+
raise "Yahoo.fetch_csv unable to fetch data" unless data.is_a? Array
|
38
|
+
return data
|
39
|
+
end
|
17
40
|
|
41
|
+
alias_method :get_csv, :fetch_csv
|
42
|
+
alias_method :get_data, :fetch_csv
|
43
|
+
|
44
|
+
private
|
45
|
+
|
46
|
+
def fetch_credentials
|
18
47
|
# get cookie
|
19
48
|
page = open(COOKIE_URL)
|
20
49
|
@cookie = page.meta['set-cookie'].split('; ', 2).first
|
@@ -30,20 +59,6 @@ module YQuotes
|
|
30
59
|
end
|
31
60
|
end
|
32
61
|
|
33
|
-
# fetch_csv: fetch historical quotes in csv format
|
34
|
-
def fetch_csv(ticker, start_date=nil, end_date=nil, period='d')
|
35
|
-
url = build_url(ticker, start_date, end_date, period)
|
36
|
-
connection = open(url, 'Cookie' => @cookie)
|
37
|
-
data = CSV.parse(connection.read, :converters => :numeric)
|
38
|
-
raise "Yahoo.fetch_csv unable to fetch data" unless data.is_a? Array
|
39
|
-
return data
|
40
|
-
end
|
41
|
-
|
42
|
-
alias_method :get_csv, :fetch_csv
|
43
|
-
alias_method :get_data, :fetch_csv
|
44
|
-
|
45
|
-
private
|
46
|
-
|
47
62
|
# build_params: build parameters for get query
|
48
63
|
def build_url(ticker, start_date=nil, end_date=nil, period='d')
|
49
64
|
|
data/lib/yquotes.rb
CHANGED
@@ -55,8 +55,7 @@ module YQuotes
|
|
55
55
|
|
56
56
|
# strip columns and create index
|
57
57
|
df.index = Daru::Index.new(df['Date'].to_a)
|
58
|
-
df
|
59
|
-
df.rename_vectors 'Volume' => :volume, 'Adj Close' => :close
|
58
|
+
df.rename_vectors 'Volume' => :volume, 'Adj Close' => :adj_close, 'Open' => :open, 'Close' => :close, 'High' => :high, 'Low' => :low
|
60
59
|
|
61
60
|
d = df.filter(:row) { |row| row[:volume] > 0}
|
62
61
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yquotes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- P Choudhary
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|