yfinance 1.0.2 → 1.0.3

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: 294f93f5c2ae968d20d4ec3c046c01908f694f03
4
- data.tar.gz: ecce478844f2054878932c43903c9c2fcaf10c87
3
+ metadata.gz: 98f8be13814463fc01eae9f18f585ab71febae8e
4
+ data.tar.gz: 95aa6ed0c2d29dc538cd4addb4a4b428e70c4301
5
5
  SHA512:
6
- metadata.gz: ef0648021e2db7bf7e69d8f95059d3f067939fb9dd4953547e5e33a62119c50872ddd808f1d77582a268952483f6f49e5ba9bb59c7990f5488bff20d3e4453dc
7
- data.tar.gz: fc54e3ac847740c658496e13b17e0bde18fad223c39fd2c394f66a432077934dd33d25982e2015d39510f7e5ab70d78043ec9726bfffbeea09ea936be4f3f1cb
6
+ metadata.gz: c8388c6431bebbb5192d4cecfe0f279d7129d14027678ed61b6cfd25ca622f28f900ebdc591c53ae644d433fc3dfd493ecbe5df2976680d573ae0d58a9f44fdf
7
+ data.tar.gz: e42b7224a6e838df45632c841f7eb628ceab86c3ad425749ff1f03c47ed88b66438211d1b3f93552a936a0d59daef29ae13582960931576858514c23ac5126de
data/Rakefile CHANGED
@@ -1,11 +1,18 @@
1
1
  require "bundler/gem_tasks"
2
- require 'rspec/core/rake_task'
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new do |t|
5
+ t.libs << 'test'
6
+ t.pattern = FileList["test/**/*_test.rb"]
7
+ end
8
+
9
+ task :default => :test
3
10
 
4
11
  # Default directory to look in is `/specs`
5
12
  # Run with `rake spec`
6
- RSpec::Core::RakeTask.new(:spec) do |task|
7
- task.rspec_opts = ['--color', '--format', 'nested']
8
- end
9
-
10
- task :default => :spec
13
+ # RSpec::Core::RakeTask.new(:spec) do |task|
14
+ # task.rspec_opts = ['--color', '--format', 'nested']
15
+ # end
16
+ #
17
+ # task :default => :spec
11
18
 
data/lib/yfinance.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'csv'
2
+ require 'URI'
2
3
  require 'typhoeus'
3
4
  require 'JSON'
4
5
  require 'ostruct'
@@ -33,7 +34,7 @@ class Yfinance
33
34
  :eps_estimate_current_year => "e7",
34
35
  :eps_estimate_next_year => "e8",
35
36
  :eps_estimate_next_quarter => "e9",
36
- # :float_shares => "f6",
37
+ #:float_shares => "f6", # return value isnt' parsed correctly by CSV.parse
37
38
  :low => "g",
38
39
  :high => "h",
39
40
  :low_52_weeks => "j",
@@ -87,7 +88,7 @@ class Yfinance
87
88
  :shares_owned => "s1",
88
89
  :short_ratio => "s7",
89
90
  :last_trade_time => "t1",
90
- #:trade_links => "t6", # doesn't work anymore ?
91
+ #:trade_links => "t6", # doesn't work anymore - asks for brokerage and is not parse correctly
91
92
  :ticker_trend => "t7",
92
93
  :one_year_target_price => "t8",
93
94
  :volume => "v",
@@ -98,7 +99,6 @@ class Yfinance
98
99
  :day_value_change_realtime => "w4",
99
100
  :stock_exchange => "x",
100
101
  :dividend_yield => "y"
101
- #:adjusted_close => nil
102
102
  }
103
103
 
104
104
  HISTORICAL_MODES = {
@@ -0,0 +1,4 @@
1
+ require 'yfinance'
2
+ require 'minitest/autorun'
3
+ require 'minitest/unit'
4
+ require 'minitest/pride'
@@ -0,0 +1,22 @@
1
+ require 'test_helper.rb'
2
+
3
+ class YfinanceTest < Minitest::Test
4
+ def test_it_receives_quotes_for_valid_symbols
5
+ yf = Yfinance.new
6
+ res = yf.quotes(["AAPL", "TWTR"])
7
+ refute_empty res
8
+ end
9
+
10
+ def test_it_work_for_an_invalid_symbol
11
+ yf = Yfinance.new
12
+ res = yf.quotes(["TWTR", "MADASDFASD", "AAPL"])
13
+ assert_equal res.length, 3
14
+ end
15
+
16
+ def test_it_works_requesting_all_data_for_valid_symbols
17
+ yf = Yfinance.new
18
+ res = yf.quotes_all_info(["AAPL", "TWTR", "TEP.L"])
19
+ assert_equal res.length, 2
20
+ end
21
+
22
+ 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.2"
8
+ spec.version = "1.0.3"
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.}
@@ -14,19 +14,11 @@ Gem::Specification.new do |spec|
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = `git ls-files -z`.split("\x0")
17
- spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
- spec.require_paths = ["lib"]
17
+ spec.require_paths = "lib"
20
18
 
21
19
  spec.add_development_dependency "bundler", "~> 1.7"
22
20
  spec.add_development_dependency "rake", "~> 10.0"
23
- spec.add_development_dependency "rspec"
24
- spec.add_development_dependency "rspec-nc"
25
- spec.add_development_dependency "guard"
26
- spec.add_development_dependency "guard-rspec"
27
- spec.add_development_dependency "pry"
28
- spec.add_development_dependency "pry-remote"
29
- spec.add_development_dependency "pry-nav"
30
-
21
+ spec.add_development_dependency "minitest", "~> 5.4"
31
22
  spec.add_dependency "typhoeus", '~> 0.6.9'
23
+ spec.add_dependency "ffi", '~> 1.9'
32
24
  end
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.2
4
+ version: 1.0.3
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-24 00:00:00.000000000 Z
11
+ date: 2014-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -39,117 +39,47 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: rspec-nc
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
- - !ruby/object:Gem::Dependency
70
- name: guard
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ">="
74
- - !ruby/object:Gem::Version
75
- version: '0'
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ">="
81
- - !ruby/object:Gem::Version
82
- version: '0'
83
- - !ruby/object:Gem::Dependency
84
- name: guard-rspec
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ">="
88
- - !ruby/object:Gem::Version
89
- version: '0'
90
- type: :development
91
- prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ">="
95
- - !ruby/object:Gem::Version
96
- version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: pry
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - ">="
102
- - !ruby/object:Gem::Version
103
- version: '0'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: '0'
111
- - !ruby/object:Gem::Dependency
112
- name: pry-remote
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
45
+ - - "~>"
116
46
  - !ruby/object:Gem::Version
117
- version: '0'
47
+ version: '5.4'
118
48
  type: :development
119
49
  prerelease: false
120
50
  version_requirements: !ruby/object:Gem::Requirement
121
51
  requirements:
122
- - - ">="
52
+ - - "~>"
123
53
  - !ruby/object:Gem::Version
124
- version: '0'
54
+ version: '5.4'
125
55
  - !ruby/object:Gem::Dependency
126
- name: pry-nav
56
+ name: typhoeus
127
57
  requirement: !ruby/object:Gem::Requirement
128
58
  requirements:
129
- - - ">="
59
+ - - "~>"
130
60
  - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :development
61
+ version: 0.6.9
62
+ type: :runtime
133
63
  prerelease: false
134
64
  version_requirements: !ruby/object:Gem::Requirement
135
65
  requirements:
136
- - - ">="
66
+ - - "~>"
137
67
  - !ruby/object:Gem::Version
138
- version: '0'
68
+ version: 0.6.9
139
69
  - !ruby/object:Gem::Dependency
140
- name: typhoeus
70
+ name: ffi
141
71
  requirement: !ruby/object:Gem::Requirement
142
72
  requirements:
143
73
  - - "~>"
144
74
  - !ruby/object:Gem::Version
145
- version: 0.6.9
75
+ version: '1.9'
146
76
  type: :runtime
147
77
  prerelease: false
148
78
  version_requirements: !ruby/object:Gem::Requirement
149
79
  requirements:
150
80
  - - "~>"
151
81
  - !ruby/object:Gem::Version
152
- version: 0.6.9
82
+ version: '1.9'
153
83
  description: 'Uses Typhoeus to make HTTP requests to the Yahoo! Finance API in parallel. '
154
84
  email:
155
85
  - alexander@risklog.io
@@ -159,13 +89,12 @@ extra_rdoc_files: []
159
89
  files:
160
90
  - ".gitignore"
161
91
  - Gemfile
162
- - Guardfile
163
92
  - LICENSE.txt
164
93
  - README.md
165
94
  - Rakefile
166
95
  - lib/yfinance.rb
167
- - spec/spec_helper.rb
168
- - spec/yfinance_spec.rb
96
+ - test/test_helper.rb
97
+ - test/yfinance_test.rb
169
98
  - yfinance.gemspec
170
99
  homepage: ''
171
100
  licenses:
@@ -173,8 +102,7 @@ licenses:
173
102
  metadata: {}
174
103
  post_install_message:
175
104
  rdoc_options: []
176
- require_paths:
177
- - lib
105
+ require_paths: lib
178
106
  required_ruby_version: !ruby/object:Gem::Requirement
179
107
  requirements:
180
108
  - - ">="
@@ -191,6 +119,4 @@ rubygems_version: 2.2.2
191
119
  signing_key:
192
120
  specification_version: 4
193
121
  summary: Fetches Yahoo! Finance data using parallel HTTP requests.
194
- test_files:
195
- - spec/spec_helper.rb
196
- - spec/yfinance_spec.rb
122
+ test_files: []
data/Guardfile DELETED
@@ -1,11 +0,0 @@
1
- guard 'rspec', cmd: "bundle exec rspec" do
2
- # watch /lib/ files
3
- watch(%r{^lib/(.+).rb$}) do |m|
4
- "spec/#{m[1]}_spec.rb"
5
- end
6
-
7
- # watch /spec/ files
8
- watch(%r{^spec/(.+).rb$}) do |m|
9
- "spec/#{m[1]}.rb"
10
- end
11
- end
data/spec/spec_helper.rb DELETED
@@ -1,2 +0,0 @@
1
- require 'pry'
2
- require 'Yfinance'
@@ -1,34 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Yfinance do
4
-
5
- it 'downloads historical data' do
6
- symbols = CSV.read('NASDAQ.csv').flatten[0,2]
7
- result = Proc.new { |response| expect(response).not_to be nil}
8
- yf = Yfinance.new
9
- yf.add_historical_data_query(symbols, '1971-12-30', '2014-09-17', {period: :weekly}, &result)
10
- yf.run
11
- end
12
-
13
- it "fetches matching symbols" do
14
- query = "yahoo"
15
- yf = Yfinance.new
16
- yf.read_symbols(query) do |res|
17
- expect(res).not_to be nil
18
- end
19
- end
20
-
21
- it "retrieves quote data" do
22
- yf = Yfinance.new
23
- res = yf.quotes(["MSFT", "GOOG"])
24
- expect(res[0].symbol).to eql('MSFT')
25
- expect(res[1].symbol).to eql('GOOG')
26
- end
27
-
28
- it "retrieves quote data containing all available columns" do
29
- yf = Yfinance.new
30
- res = yf.quotes_all_info(["MSFT", "GOOG"])
31
- expect(res[0].dividend_yield).not_to be_nil
32
- end
33
-
34
- end