nfl_data 0.0.11 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/nfl_data/models/player.rb +1 -1
- data/lib/nfl_data/parsers/player_parser.rb +23 -5
- data/lib/nfl_data/version.rb +1 -1
- data/nfl_data.gemspec +1 -0
- data/test/nfl_data/models/player_test.rb +3 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8ddfd102d1e34fb5f67cf1cd9bfeff27db2e907f
|
4
|
+
data.tar.gz: fd0babfb2953f8f0d7e927e28655b71f49aa78ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8efd6056e6012919326f1f6ed1223b25d1b43fe916b25c452c396070a52a6dff5b9db928fef14d364ea3efc879d514fb946d427ba176d9649247d2c6ea2dd6b1
|
7
|
+
data.tar.gz: a4faa749be2a46f744e16e27da1eb67fb72ae0bfb52cd6de3e174de08c76b961fc71881d57d51ba9cfd3d13408c128878807198d04cef956a4d315f7f667a59b
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'typhoeus'
|
2
|
+
|
1
3
|
module NflData
|
2
4
|
class PlayerParser
|
3
5
|
include ParserHelper
|
@@ -40,6 +42,10 @@ module NflData
|
|
40
42
|
end
|
41
43
|
|
42
44
|
return_val.flatten.map(&:to_hash)
|
45
|
+
|
46
|
+
return_val = return_val.flatten
|
47
|
+
populate_picture_links(return_val)
|
48
|
+
return_val.map(&:to_hash)
|
43
49
|
end
|
44
50
|
|
45
51
|
def update_or_create_players(url)
|
@@ -70,15 +76,27 @@ module NflData
|
|
70
76
|
first_name: names[0],
|
71
77
|
last_name: names[1],
|
72
78
|
full_name: names.join(' '),
|
73
|
-
|
79
|
+
profile_link: get_profile_link(nfl_player_id, names[0], names[1])
|
74
80
|
)
|
75
81
|
end
|
76
82
|
|
77
|
-
def
|
83
|
+
def get_profile_link(nfl_player_id, first_name, last_name)
|
78
84
|
return nil if ENV['NFL_DATA_ENV'] == 'test'
|
79
|
-
|
80
|
-
|
81
|
-
|
85
|
+
"http://www.nfl.com/player/#{first_name.gsub(/\s/, '')}#{last_name.gsub(/\s/, '')}/#{nfl_player_id}/profile"
|
86
|
+
end
|
87
|
+
|
88
|
+
def populate_picture_links(players)
|
89
|
+
hydra = Typhoeus::Hydra.hydra
|
90
|
+
players.each do |player|
|
91
|
+
request = Typhoeus::Request.new(player.profile_link, followlocation: true, accept_encoding: 'gzip')
|
92
|
+
request.on_complete do |response|
|
93
|
+
doc = Nokogiri::HTML(response.body)
|
94
|
+
img_element = doc.search('div.player-photo img').first
|
95
|
+
player.picture_link = img_element.attributes['src'].value unless img_element.nil?
|
96
|
+
end
|
97
|
+
hydra.queue(request)
|
98
|
+
end
|
99
|
+
hydra.run
|
82
100
|
end
|
83
101
|
end
|
84
102
|
end
|
data/lib/nfl_data/version.rb
CHANGED
data/nfl_data.gemspec
CHANGED
@@ -56,6 +56,7 @@ describe Player do
|
|
56
56
|
@player.team = 'Broncos'
|
57
57
|
@player.nfl_player_id = '123'
|
58
58
|
@player.picture_link = 'google.com'
|
59
|
+
@player.profile_link = 'espn.com'
|
59
60
|
end
|
60
61
|
|
61
62
|
def valid_player_hash
|
@@ -68,7 +69,8 @@ describe Player do
|
|
68
69
|
status: 'Retired',
|
69
70
|
team: 'Broncos',
|
70
71
|
nfl_player_id: '123',
|
71
|
-
picture_link: 'google.com'
|
72
|
+
picture_link: 'google.com',
|
73
|
+
profile_link: 'espn.com'
|
72
74
|
}
|
73
75
|
end
|
74
76
|
|
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.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- thetizzo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.35.1
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: typhoeus
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '1.3'
|
104
|
+
type: :runtime
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '1.3'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: nokogiri
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|