PBYF 0.0.1
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.
- data/lib/pbyf.rb +38 -0
- metadata +45 -0
data/lib/pbyf.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'rest-client'
|
2
|
+
require 'csv'
|
3
|
+
#Pause Break Yahoo Finance gem
|
4
|
+
class PBYF
|
5
|
+
#these are the base urls for querying various parts of yahoo finance
|
6
|
+
@@quote_url = 'http://download.finance.yahoo.com/d/quotes.csv?s='
|
7
|
+
@@historical_quote_url = 'http://ichart.yahoo.com/table.csv?s='
|
8
|
+
|
9
|
+
# this gets an array of arrays for the csv file
|
10
|
+
# arr_of_arrays = CSV.parse(RestClient.get 'http://download.finance.yahoo.com/d/quotes.csv?s=%40%5EDJI,GOOG&f=nsl1op')
|
11
|
+
|
12
|
+
#this will divide them into rows
|
13
|
+
# CSV.parse(RestClient.get 'http://download.finance.yahoo.com/d/quotes.csv?s=%40%5EDJI,GOOG&f=nsl1op') do |row|
|
14
|
+
# row
|
15
|
+
# end
|
16
|
+
|
17
|
+
#str_of_stocks should be formatted according to yahoo finance api docs
|
18
|
+
def self.get_quote str_of_stocks, str_of_options
|
19
|
+
query_url = @@quote_url + str_of_stocks + '&f=' + str_of_options
|
20
|
+
arr_of_arrays = CSV.parse(RestClient.get query_url)
|
21
|
+
end
|
22
|
+
|
23
|
+
# one cannot get multiple stocks for historical quotes, you must get them separately
|
24
|
+
# for now dates will be assumed to be the format Month-Day-Year, i.e. 3-19-1988
|
25
|
+
def self.get_hist_quote str_of_stock, from_date, to_date, interval = 'd'
|
26
|
+
from = from_date.split('-')
|
27
|
+
to = to_date.split('-')
|
28
|
+
from_to_params = "&a=#{from[0].to_i-1}" + "&b=#{from[1]}" + "&c=#{from[2]}" + "&d=#{to[0].to_i-1}" + "&e=#{to[1]}" + "&f=#{to[2]}"
|
29
|
+
query_url = @@historical_quote_url + str_of_stock + from_to_params + "&g=#{interval}"
|
30
|
+
puts query_url
|
31
|
+
arr_of_arrays = CSV.parse(RestClient.get query_url)
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
#testing
|
37
|
+
#PBYF.get_quote('%40%5EDJI,GOOG', 'nsl1op')
|
38
|
+
#PBYF.get_hist_quote( 'GOOG', '3-19-2012', '4-19-2012', 'd' )
|
metadata
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: PBYF
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Matt Wickman
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2012-08-14 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: For use with Yahoo Finance
|
15
|
+
email: wickman.matthew@gmail.com
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/pbyf.rb
|
21
|
+
homepage: http://pause-break.net
|
22
|
+
licenses: []
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 1.8.24
|
42
|
+
signing_key:
|
43
|
+
specification_version: 3
|
44
|
+
summary: Still a work in progress
|
45
|
+
test_files: []
|