yahoo_finance 0.0.1 → 0.0.2

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.
@@ -39,6 +39,10 @@ module YahooFinance
39
39
  result.reverse_each(&block)
40
40
  end
41
41
 
42
+ def to_csv
43
+ raw_data.lines.to_a[1..-1].join
44
+ end
45
+
42
46
  private
43
47
 
44
48
  def result
@@ -1,3 +1,3 @@
1
1
  module YahooFinance
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -0,0 +1,42 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://ichart.finance.yahoo.com:80/table.csv?s=AAPL&g=d&ignore=.csv&a=10&b=11&c=2011&d=10&e=21&f=2011
6
+ body:
7
+ headers:
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Wed, 23 Nov 2011 12:33:37 GMT
15
+ p3p:
16
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
17
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
18
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
19
+ cache-control:
20
+ - private
21
+ transfer-encoding:
22
+ - chunked
23
+ content-type:
24
+ - text/csv
25
+ body: ! 'Date,Open,High,Low,Close,Volume,Adj Close
26
+
27
+ 2011-11-21,370.40,371.68,365.91,369.01,15999300,369.01
28
+
29
+ 2011-11-18,378.92,379.99,374.88,374.94,13283500,374.94
30
+
31
+ 2011-11-17,383.98,384.58,375.50,377.41,17139300,377.41
32
+
33
+ 2011-11-16,389.25,391.14,384.32,384.77,12449900,384.77
34
+
35
+ 2011-11-15,380.80,389.50,379.45,388.83,15386100,388.83
36
+
37
+ 2011-11-14,383.52,385.25,378.20,379.26,15460900,379.26
38
+
39
+ 2011-11-11,386.61,388.70,380.26,384.62,23338400,384.62
40
+
41
+ '
42
+ http_version: '1.1'
@@ -0,0 +1,30 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://ichart.finance.yahoo.com:80/table.csv?s=AAPL&g=d&ignore=.csv&a=10&b=11&c=2011&d=10&e=11&f=2011
6
+ body:
7
+ headers:
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Wed, 23 Nov 2011 12:34:12 GMT
15
+ p3p:
16
+ - policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV
17
+ TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY
18
+ ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
19
+ cache-control:
20
+ - private
21
+ transfer-encoding:
22
+ - chunked
23
+ content-type:
24
+ - text/csv
25
+ body: ! 'Date,Open,High,Low,Close,Volume,Adj Close
26
+
27
+ 2011-11-11,386.61,388.70,380.26,384.62,23349500,384.62
28
+
29
+ '
30
+ http_version: '1.1'
@@ -33,6 +33,8 @@ describe YahooFinance::Historical do
33
33
  describe "#each" do
34
34
  subject { described_class.daily ticker, :from => start_date, :to => end_date }
35
35
 
36
+ use_vcr_cassette "AAPL-each"
37
+
36
38
  it "iterates by ascending date order" do
37
39
  subject.to_a.first.date.should < subject.to_a.last.date
38
40
  end
@@ -47,4 +49,18 @@ describe YahooFinance::Historical do
47
49
  end
48
50
  end
49
51
  end
52
+
53
+ describe "#to_csv" do
54
+ subject { described_class.daily(ticker, :from => Date.new(2011, 11, 11), :to => Date.new(2011, 11, 11)).to_csv }
55
+
56
+ use_vcr_cassette "AAPL-to_csv", :record => :once
57
+
58
+ it "returns the raw csv data" do
59
+ should match "2011-11-11,386.61,388.70,380.26,384.62,23349500,384.62"
60
+ end
61
+
62
+ it "doesn't show the header row" do
63
+ should_not match "Date,Open,High,Low,Close,Volume,Adj Close"
64
+ end
65
+ end
50
66
  end
@@ -1 +1,13 @@
1
1
  require "yahoo_finance"
2
+ require "fakeweb"
3
+ require "vcr"
4
+
5
+ VCR.config do |c|
6
+ c.cassette_library_dir = File.expand_path("cassettes", File.dirname(__FILE__))
7
+ c.stub_with :fakeweb
8
+ c.default_cassette_options = { :record => :new_episodes }
9
+ end
10
+
11
+ RSpec.configure do |c|
12
+ c.extend VCR::RSpec::Macros
13
+ end
@@ -19,4 +19,6 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  s.add_development_dependency "rspec"
22
+ s.add_development_dependency "fakeweb"
23
+ s.add_development_dependency "vcr"
22
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yahoo_finance
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-11-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &2152396840 !ruby/object:Gem::Requirement
16
+ requirement: &2157307680 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,7 +21,29 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2152396840
24
+ version_requirements: *2157307680
25
+ - !ruby/object:Gem::Dependency
26
+ name: fakeweb
27
+ requirement: &2157306780 !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: *2157306780
36
+ - !ruby/object:Gem::Dependency
37
+ name: vcr
38
+ requirement: &2157306320 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - ! '>='
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2157306320
25
47
  description: Simple wrapper for yahoo finance API
26
48
  email:
27
49
  - reu@rnavarro.com.br
@@ -35,6 +57,8 @@ files:
35
57
  - lib/yahoo_finance.rb
36
58
  - lib/yahoo_finance/historical.rb
37
59
  - lib/yahoo_finance/version.rb
60
+ - spec/cassettes/AAPL-each.yml
61
+ - spec/cassettes/AAPL-to_csv.yml
38
62
  - spec/historical_spec.rb
39
63
  - spec/spec_helper.rb
40
64
  - yahoo_finance.gemspec
@@ -52,7 +76,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
52
76
  version: '0'
53
77
  segments:
54
78
  - 0
55
- hash: -2453551953507377743
79
+ hash: 255081617841847173
56
80
  required_rubygems_version: !ruby/object:Gem::Requirement
57
81
  none: false
58
82
  requirements:
@@ -61,7 +85,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
85
  version: '0'
62
86
  segments:
63
87
  - 0
64
- hash: -2453551953507377743
88
+ hash: 255081617841847173
65
89
  requirements: []
66
90
  rubyforge_project: yahoo_finance
67
91
  rubygems_version: 1.8.6
@@ -69,5 +93,7 @@ signing_key:
69
93
  specification_version: 3
70
94
  summary: Simple wrapper for yahoo finance API
71
95
  test_files:
96
+ - spec/cassettes/AAPL-each.yml
97
+ - spec/cassettes/AAPL-to_csv.yml
72
98
  - spec/historical_spec.rb
73
99
  - spec/spec_helper.rb