nfl_data 0.0.13 → 0.0.14
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 +5 -5
- data/.gitignore +1 -1
- data/lib/nfl_data.rb +1 -0
- data/lib/nfl_data/parsers/data/teams.rb +36 -0
- data/lib/nfl_data/parsers/player_parser.rb +0 -1
- data/lib/nfl_data/parsers/team_parser.rb +4 -22
- data/lib/nfl_data/version.rb +1 -1
- data/nfl_data.gemspec +5 -5
- data/test/nfl_data/parsers/player_parser_test.rb +6 -11
- data/test/nfl_data/parsers/team_parser_test.rb +0 -4
- metadata +14 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 4770f23bf68572218ed0d2f64f695f7a18f67836b383f70ad5e4905294c2fea5
|
4
|
+
data.tar.gz: bb3999a02144d75d47bce2db82a5421da2e439896896e7f1f49bc585feff01a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 160b8568b742784ea4b43df322d315282a5fe83de4b6490f22a916873497ae65864ef03a797d153c1fce4042f854e029482255d2edcd37811cf3f2f93ef9c2f8
|
7
|
+
data.tar.gz: 3a39657ad68a0b8e18b2e16896d7cf17baf4afc54d73a76f2c2e58335e5f795b39e17aceb463b0c1488722035cb556f38072b1b066604de5f6266f626a3293c6
|
data/.gitignore
CHANGED
data/lib/nfl_data.rb
CHANGED
@@ -8,6 +8,7 @@ require 'nfl_data/models/player'
|
|
8
8
|
require 'nfl_data/models/statline'
|
9
9
|
require 'nfl_data/models/team'
|
10
10
|
|
11
|
+
require 'nfl_data/parsers/data/teams'
|
11
12
|
require 'nfl_data/parsers/parser_helper'
|
12
13
|
require 'nfl_data/parsers/player_parser'
|
13
14
|
require 'nfl_data/parsers/statline_parser'
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Teams
|
2
|
+
TEAMS = {
|
3
|
+
'ARI' => 'Arizona Cardinals',
|
4
|
+
'ATL' => 'Atlanta Falcons',
|
5
|
+
'BAL' => 'Baltimore Ravens',
|
6
|
+
'BUF' => 'Buffalo Bills',
|
7
|
+
'CAR' => 'Carolina Panthers',
|
8
|
+
'CHI' => 'Chicago Bears',
|
9
|
+
'CIN' => 'Cincinnati Bengals',
|
10
|
+
'CLE' => 'Cleveland Browns',
|
11
|
+
'DAL' => 'Dallas Cowboys',
|
12
|
+
'DEN' => 'Denver Broncos',
|
13
|
+
'DET' => 'Detroit Lions',
|
14
|
+
'GB' => 'Green Bay Packers',
|
15
|
+
'HOU' => 'Houston Texans',
|
16
|
+
'IND' => 'Indianapolis Colts',
|
17
|
+
'JAX' => 'Jacksonville Jaguars',
|
18
|
+
'KC' => 'Kansas City Chiefs',
|
19
|
+
'LA' => 'Los Angeles Rams',
|
20
|
+
'LAC' => 'Los Angeles Chargers',
|
21
|
+
'MIA' => 'Miami Dolphins',
|
22
|
+
'MIN' => 'Minnesota Vikings',
|
23
|
+
'NE' => 'New England Patriots',
|
24
|
+
'NO' => 'New Orleans Saints',
|
25
|
+
'NYG' => 'New York Giants',
|
26
|
+
'NYJ' => 'New York Jets',
|
27
|
+
'OAK' => 'Oakland Raiders',
|
28
|
+
'PHI' => 'Philadelphia Eagles',
|
29
|
+
'PIT' => 'Pittsburgh Steelers',
|
30
|
+
'SEA' => 'Seattle Seahawks',
|
31
|
+
'SF' => 'San Francisco 49ers',
|
32
|
+
'TB' => 'Tampa Bay Buccaneers',
|
33
|
+
'TEN' => 'Tennessee Titans',
|
34
|
+
'WAS' => 'Washington Redskins'
|
35
|
+
}
|
36
|
+
end
|
@@ -1,11 +1,10 @@
|
|
1
1
|
module NflData
|
2
2
|
class TeamParser
|
3
|
-
include
|
3
|
+
include Teams
|
4
4
|
|
5
5
|
attr_reader :base_url
|
6
6
|
|
7
7
|
def initialize
|
8
|
-
@base_url = 'http://www.nfl.com/standings?category=league&split=Overall&season='
|
9
8
|
end
|
10
9
|
|
11
10
|
def get_by_year(year, with_schedule)
|
@@ -15,27 +14,10 @@ module NflData
|
|
15
14
|
private
|
16
15
|
|
17
16
|
def get(year, with_schedule)
|
18
|
-
|
19
|
-
|
20
|
-
doc = open(url) { |f| Nokogiri(f) }
|
21
|
-
|
22
|
-
all_links = doc.search('a').to_a
|
23
|
-
|
24
|
-
team_links = all_links.reject do |link|
|
25
|
-
href = link.attribute('href')
|
26
|
-
|
27
|
-
if href.nil?
|
28
|
-
true
|
29
|
-
else
|
30
|
-
!href.value.start_with?('/teams/profile?team=')
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
team_links.map do |link|
|
17
|
+
TEAMS.map do |short_name, team_name|
|
35
18
|
team = Team.new
|
36
|
-
team.name =
|
37
|
-
short_name =
|
38
|
-
team.short_name = make_jacksonville_abbreviation_consistent(short_name)
|
19
|
+
team.name = team_name
|
20
|
+
team.short_name = short_name
|
39
21
|
team.schedule = get_schedule(team, year) if with_schedule
|
40
22
|
|
41
23
|
team.to_hash
|
data/lib/nfl_data/version.rb
CHANGED
data/nfl_data.gemspec
CHANGED
@@ -19,12 +19,12 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_development_dependency 'bundler', '~> 1.
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.16.5'
|
23
23
|
spec.add_development_dependency 'rake'
|
24
|
-
spec.add_development_dependency 'minitest', '~> 5.
|
25
|
-
spec.add_development_dependency 'vcr', '~>
|
26
|
-
spec.add_development_dependency 'webmock', '~>
|
27
|
-
spec.add_development_dependency 'rubocop', '~> 0.
|
24
|
+
spec.add_development_dependency 'minitest', '~> 5.11.3'
|
25
|
+
spec.add_development_dependency 'vcr', '~> 4.0.0'
|
26
|
+
spec.add_development_dependency 'webmock', '~> 3.4.2'
|
27
|
+
spec.add_development_dependency 'rubocop', '~> 0.59.1'
|
28
28
|
|
29
29
|
spec.add_dependency 'typhoeus', '~> 1.3'
|
30
30
|
spec.add_dependency 'nokogiri', '~> 1.6'
|
@@ -23,7 +23,7 @@ describe PlayerParser do
|
|
23
23
|
response = @parser.get_by_position(:quarterbacks)
|
24
24
|
|
25
25
|
response.keys.must_include :quarterbacks
|
26
|
-
response[:quarterbacks].count.
|
26
|
+
response[:quarterbacks].count.must_be :>, 0
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
@@ -32,7 +32,7 @@ describe PlayerParser do
|
|
32
32
|
response = @parser.get_by_position(:runningbacks)
|
33
33
|
|
34
34
|
response.keys.must_include :runningbacks
|
35
|
-
response[:runningbacks].count.
|
35
|
+
response[:runningbacks].count.must_be :>, 0
|
36
36
|
end
|
37
37
|
end
|
38
38
|
|
@@ -41,7 +41,7 @@ describe PlayerParser do
|
|
41
41
|
response = @parser.get_by_position(:wide_receivers)
|
42
42
|
|
43
43
|
response.keys.must_include :wide_receivers
|
44
|
-
response[:wide_receivers].count.
|
44
|
+
response[:wide_receivers].count.must_be :>, 0
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
@@ -50,7 +50,7 @@ describe PlayerParser do
|
|
50
50
|
response = @parser.get_by_position(:tight_ends)
|
51
51
|
|
52
52
|
response.keys.must_include :tight_ends
|
53
|
-
response[:tight_ends].count.
|
53
|
+
response[:tight_ends].count.must_be :>, 0
|
54
54
|
end
|
55
55
|
end
|
56
56
|
|
@@ -58,14 +58,9 @@ describe PlayerParser do
|
|
58
58
|
VCR.use_cassette('all_players') do
|
59
59
|
response = @parser.get_by_position(:all)
|
60
60
|
|
61
|
-
|
62
|
-
quarterbacks: 118,
|
63
|
-
runningbacks: 243,
|
64
|
-
wide_receivers: 339,
|
65
|
-
tight_ends: 188
|
66
|
-
}.each do |position, player_count|
|
61
|
+
[:quarterbacks, :runningbacks, :wide_receivers, :tight_ends].each do |position|
|
67
62
|
response.keys.must_include position
|
68
|
-
response[position].count.
|
63
|
+
response[position].count.must_be :>, 0
|
69
64
|
end
|
70
65
|
end
|
71
66
|
end
|
@@ -9,10 +9,6 @@ describe TeamParser do
|
|
9
9
|
@parser = nil
|
10
10
|
end
|
11
11
|
|
12
|
-
it 'should know the correct base url' do
|
13
|
-
@parser.base_url.must_equal 'http://www.nfl.com/standings?category=league&split=Overall&season='
|
14
|
-
end
|
15
|
-
|
16
12
|
describe 'get_by_year' do
|
17
13
|
it 'should get all the teams for year without schedule' do
|
18
14
|
VCR.use_cassette('teams_without_schedule') do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nfl_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thetizzo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.16.5
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.16.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,56 +44,56 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 5.
|
47
|
+
version: 5.11.3
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 5.
|
54
|
+
version: 5.11.3
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: vcr
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 4.0.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 4.0.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: webmock
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 3.4.2
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 3.4.2
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rubocop
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.59.1
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.59.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: typhoeus
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -145,6 +145,7 @@ files:
|
|
145
145
|
- lib/nfl_data/models/player.rb
|
146
146
|
- lib/nfl_data/models/statline.rb
|
147
147
|
- lib/nfl_data/models/team.rb
|
148
|
+
- lib/nfl_data/parsers/data/teams.rb
|
148
149
|
- lib/nfl_data/parsers/parser_helper.rb
|
149
150
|
- lib/nfl_data/parsers/player_parser.rb
|
150
151
|
- lib/nfl_data/parsers/statline_parser.rb
|
@@ -181,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
182
|
version: '0'
|
182
183
|
requirements: []
|
183
184
|
rubyforge_project:
|
184
|
-
rubygems_version: 2.
|
185
|
+
rubygems_version: 2.7.3
|
185
186
|
signing_key:
|
186
187
|
specification_version: 4
|
187
188
|
summary: Parse NFL data like a boss
|