sports_data_api 0.2.2 → 0.2.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 +4 -4
- data/lib/sports_data_api/ncaafb/division.rb +2 -2
- data/lib/sports_data_api/ncaafb/poll_team.rb +18 -0
- data/lib/sports_data_api/ncaafb/polls.rb +55 -0
- data/lib/sports_data_api/ncaafb.rb +13 -1
- data/lib/sports_data_api/version.rb +1 -1
- data/spec/cassettes/sports_data_api_ncaafb_polls.yml +130 -0
- data/spec/lib/sports_data_api/ncaafb/poll_team_spec.rb +30 -0
- data/spec/lib/sports_data_api/ncaafb/polls_spec.rb +25 -0
- data/spec/lib/sports_data_api/ncaafb/team_spec.rb +1 -0
- data/spec/lib/sports_data_api/ncaafb_spec.rb +5 -0
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 06dada395e0e5f6810292ba417b0afb50ec4e007
|
4
|
+
data.tar.gz: 7e0e30a724b19e31b22ec886b18f64c60090fce1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0f19f62b95cf7e1547213c1ff4a85e2e3d93aa6394434f0274e5d2f822445cc123669e6cef86d3908073ecfbf258714002eaec2ad1188aac6fc790e04248348c
|
7
|
+
data.tar.gz: bb179d81af60bfe7d1683c108afbb6748e622875ef5db5e40d61790a3ed3ae238264d793aa3dbfa7de06d368c04ab2570471a2aec2b0edef9568b9b796f80ce9
|
@@ -5,9 +5,9 @@ module SportsDataApi
|
|
5
5
|
# Check if the requested division is a valid
|
6
6
|
# Ncaafb division type.
|
7
7
|
#
|
8
|
-
# The only valid types are: :
|
8
|
+
# The only valid types are: :FBS,:FCS, :D2, :D3, :NAIA, :USCAA
|
9
9
|
def self.valid?(division)
|
10
|
-
[:FBS,:FCS, :D2, :D3, :NAIA, :USCAA].include?(division)
|
10
|
+
[:FBS,:FCS, :D2, :D3, :NAIA, :USCAA].include?(division.upcase.to_sym)
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module SportsDataApi
|
2
|
+
module Ncaafb
|
3
|
+
class PollTeam
|
4
|
+
attr_reader :id, :name, :market, :points, :fp_votes, :wins, :losses, :ties, :rank
|
5
|
+
def initialize(poll_team_hash)
|
6
|
+
@id = poll_team_hash['id']
|
7
|
+
@name = poll_team_hash['name']
|
8
|
+
@rank = poll_team_hash['rank']
|
9
|
+
@market = poll_team_hash['market']
|
10
|
+
@points = poll_team_hash['points']
|
11
|
+
@fp_votes = poll_team_hash['fp_votes']
|
12
|
+
@wins = poll_team_hash['wins']
|
13
|
+
@losses = poll_team_hash['losses']
|
14
|
+
@ties = poll_team_hash['ties']
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module SportsDataApi
|
2
|
+
module Ncaafb
|
3
|
+
class Polls
|
4
|
+
include Enumerable
|
5
|
+
|
6
|
+
attr_reader :id, :name, :season, :season_type, :week, :rankings, :candidates
|
7
|
+
def initialize(polls_hash)
|
8
|
+
@id = polls_hash['id']
|
9
|
+
@name = polls_hash['name']
|
10
|
+
@season = polls_hash['season']
|
11
|
+
@season_type = polls_hash['season_type']
|
12
|
+
@week = polls_hash['week']
|
13
|
+
@rankings = []
|
14
|
+
@candidates = []
|
15
|
+
add_poll_teams_to(@rankings, polls_hash['rankings'])
|
16
|
+
add_poll_teams_to(@candidates, polls_hash['candidates'])
|
17
|
+
end
|
18
|
+
|
19
|
+
##
|
20
|
+
# Make the class Enumerable
|
21
|
+
def each(&block)
|
22
|
+
@rankings.each do |team|
|
23
|
+
if block_given?
|
24
|
+
block.call team
|
25
|
+
else
|
26
|
+
yield team
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class << self
|
32
|
+
##
|
33
|
+
# Check if the requested poll is a valid
|
34
|
+
# Ncaafb poll type.
|
35
|
+
#
|
36
|
+
# The only valid polls are: :AP25, :EU25, :CFP25, :FCSC25, :H25, :FCS25
|
37
|
+
def valid_name?(poll)
|
38
|
+
[:AP25, :EU25, :CFP25, :FCSC25, :H25, :FCS25].include?(poll.upcase.to_sym)
|
39
|
+
end
|
40
|
+
|
41
|
+
# The only valid week nr is 1..21
|
42
|
+
def valid_week?(week)
|
43
|
+
(1..21).include?(week.to_i)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
def add_poll_teams_to(collection, hash_colection)
|
49
|
+
Array(hash_colection).each do |poll_team|
|
50
|
+
collection << PollTeam.new(poll_team)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -9,6 +9,8 @@ module SportsDataApi
|
|
9
9
|
SPORT = :ncaafb
|
10
10
|
|
11
11
|
autoload :Division, File.join(DIR, 'division')
|
12
|
+
autoload :PollTeam, File.join(DIR, 'poll_team')
|
13
|
+
autoload :Polls, File.join(DIR, 'polls')
|
12
14
|
autoload :Team, File.join(DIR, 'team')
|
13
15
|
autoload :Teams, File.join(DIR, 'teams')
|
14
16
|
autoload :Player, File.join(DIR, 'player')
|
@@ -31,6 +33,16 @@ module SportsDataApi
|
|
31
33
|
return Season.new(response)
|
32
34
|
end
|
33
35
|
|
36
|
+
##
|
37
|
+
# Fetches Ncaafb season ranking for a given year , poll and week
|
38
|
+
def self.rankings(year, poll, week, version = DEFAULT_VERSION)
|
39
|
+
raise SportsDataApi::Ncaafb::Exception.new("#{poll} is not a valid poll") unless Polls.valid_name?(poll)
|
40
|
+
raise SportsDataApi::Ncaafb::Exception.new("#{week} nr is not a valid week nr") unless Polls.valid_week?(week)
|
41
|
+
|
42
|
+
response = self.response_json(version, "/polls/#{poll}/#{year}/#{week}/rankings.json")
|
43
|
+
return Polls.new(response)
|
44
|
+
end
|
45
|
+
|
34
46
|
##
|
35
47
|
# Fetches Ncaafb boxscore for a given game
|
36
48
|
def self.boxscore(year, season, week, home, away, version = DEFAULT_VERSION)
|
@@ -56,7 +68,7 @@ module SportsDataApi
|
|
56
68
|
##
|
57
69
|
# Fetches all Ncaafb teams
|
58
70
|
def self.teams(division, version = DEFAULT_VERSION)
|
59
|
-
raise SportsDataApi::Ncaafb::Exception.new("#{division} is not a valid
|
71
|
+
raise SportsDataApi::Ncaafb::Exception.new("#{division} is not a valid division") unless Division.valid?(division)
|
60
72
|
response = self.response_json(version, "/teams/#{division}/hierarchy.json")
|
61
73
|
|
62
74
|
return Teams.new(response)
|
@@ -0,0 +1,130 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://api.sportsdatallc.org/ncaafb-t1/polls/AP25/2014/12/rankings.json?api_key=<API_KEY>
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
base64_string: ''
|
9
|
+
headers:
|
10
|
+
Accept:
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
|
+
Accept-Encoding:
|
13
|
+
- gzip, deflate
|
14
|
+
User-Agent:
|
15
|
+
- Ruby
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=utf-8
|
23
|
+
Date:
|
24
|
+
- Thu, 14 May 2015 13:17:13 GMT
|
25
|
+
Server:
|
26
|
+
- nginx
|
27
|
+
X-Mashery-Responder:
|
28
|
+
- prod-j-worker-us-east-1e-74.mashery.com
|
29
|
+
X-Plan-Qps-Allotted:
|
30
|
+
- '1'
|
31
|
+
X-Plan-Qps-Current:
|
32
|
+
- '1'
|
33
|
+
X-Plan-Quota-Allotted:
|
34
|
+
- '1000'
|
35
|
+
X-Plan-Quota-Current:
|
36
|
+
- '38'
|
37
|
+
Content-Length:
|
38
|
+
- '3763'
|
39
|
+
Connection:
|
40
|
+
- keep-alive
|
41
|
+
body:
|
42
|
+
encoding: UTF-8
|
43
|
+
base64_string: |
|
44
|
+
eyJpZCI6IkFQMjUiLCJuYW1lIjoiQXNzb2NpYXRlZCBQcmVzcyBUb3AgMjUi
|
45
|
+
LCJzZWFzb24iOjIwMTQsInNlYXNvbl90eXBlIjoiUkVHIiwid2VlayI6MTIs
|
46
|
+
InJhbmtpbmdzIjpbeyJpZCI6Ik1TU1QiLCJuYW1lIjoiQnVsbGRvZ3MiLCJt
|
47
|
+
YXJrZXQiOiJNaXNzaXNzaXBwaSBTdGF0ZSIsInJhbmsiOjEsInBvaW50cyI6
|
48
|
+
MTQ4OCwiZnBfdm90ZXMiOjQ4LCJ3aW5zIjo5LCJsb3NzZXMiOjAsInRpZXMi
|
49
|
+
OjB9LHsiaWQiOiJGU1UiLCJuYW1lIjoiU2VtaW5vbGVzIiwibWFya2V0Ijoi
|
50
|
+
RmxvcmlkYSBTdGF0ZSIsInJhbmsiOjIsInBvaW50cyI6MTQ0NiwiZnBfdm90
|
51
|
+
ZXMiOjEyLCJ3aW5zIjo5LCJsb3NzZXMiOjAsInRpZXMiOjB9LHsiaWQiOiJP
|
52
|
+
UkUiLCJuYW1lIjoiRHVja3MiLCJtYXJrZXQiOiJPcmVnb24iLCJyYW5rIjoz
|
53
|
+
LCJwb2ludHMiOjEzMzQsIndpbnMiOjksImxvc3NlcyI6MSwidGllcyI6MH0s
|
54
|
+
eyJpZCI6IkJBTUEiLCJuYW1lIjoiQ3JpbXNvbiBUaWRlIiwibWFya2V0Ijoi
|
55
|
+
QWxhYmFtYSIsInJhbmsiOjQsInBvaW50cyI6MTMyNiwid2lucyI6OCwibG9z
|
56
|
+
c2VzIjoxLCJ0aWVzIjowfSx7ImlkIjoiVENVIiwibmFtZSI6Ikhvcm5lZCBG
|
57
|
+
cm9ncyIsIm1hcmtldCI6IlRDVSIsInJhbmsiOjUsInBvaW50cyI6MTI3Mywi
|
58
|
+
d2lucyI6OCwibG9zc2VzIjoxLCJ0aWVzIjowfSx7ImlkIjoiQkFZIiwibmFt
|
59
|
+
ZSI6IkJlYXJzIiwibWFya2V0IjoiQmF5bG9yIiwicmFuayI6NiwicG9pbnRz
|
60
|
+
IjoxMTkzLCJ3aW5zIjo4LCJsb3NzZXMiOjEsInRpZXMiOjB9LHsiaWQiOiJB
|
61
|
+
U1UiLCJuYW1lIjoiU3VuIERldmlscyIsIm1hcmtldCI6IkFyaXpvbmEgU3Rh
|
62
|
+
dGUiLCJyYW5rIjo3LCJwb2ludHMiOjExNDIsIndpbnMiOjgsImxvc3NlcyI6
|
63
|
+
MSwidGllcyI6MH0seyJpZCI6Ik9TVSIsIm5hbWUiOiJCdWNrZXllcyIsIm1h
|
64
|
+
cmtldCI6Ik9oaW8gU3RhdGUiLCJyYW5rIjo4LCJwb2ludHMiOjEwODYsIndp
|
65
|
+
bnMiOjgsImxvc3NlcyI6MSwidGllcyI6MH0seyJpZCI6IkFVQiIsIm5hbWUi
|
66
|
+
OiJUaWdlcnMiLCJtYXJrZXQiOiJBdWJ1cm4iLCJyYW5rIjo5LCJwb2ludHMi
|
67
|
+
Ojk4MSwid2lucyI6NywibG9zc2VzIjoyLCJ0aWVzIjowfSx7ImlkIjoiTUlT
|
68
|
+
IiwibmFtZSI6IlJlYmVscyIsIm1hcmtldCI6Ik9sZSBNaXNzIiwicmFuayI6
|
69
|
+
MTAsInBvaW50cyI6OTQ4LCJ3aW5zIjo4LCJsb3NzZXMiOjIsInRpZXMiOjB9
|
70
|
+
LHsiaWQiOiJORUIiLCJuYW1lIjoiQ29ybmh1c2tlcnMiLCJtYXJrZXQiOiJO
|
71
|
+
ZWJyYXNrYSIsInJhbmsiOjExLCJwb2ludHMiOjgzMCwid2lucyI6OCwibG9z
|
72
|
+
c2VzIjoxLCJ0aWVzIjowfSx7ImlkIjoiTVNVIiwibmFtZSI6IlNwYXJ0YW5z
|
73
|
+
IiwibWFya2V0IjoiTWljaGlnYW4gU3RhdGUiLCJyYW5rIjoxMiwicG9pbnRz
|
74
|
+
Ijo3ODIsIndpbnMiOjcsImxvc3NlcyI6MiwidGllcyI6MH0seyJpZCI6IktT
|
75
|
+
VCIsIm5hbWUiOiJXaWxkY2F0cyIsIm1hcmtldCI6IkthbnNhcyBTdGF0ZSIs
|
76
|
+
InJhbmsiOjEzLCJwb2ludHMiOjc0Miwid2lucyI6NywibG9zc2VzIjoyLCJ0
|
77
|
+
aWVzIjowfSx7ImlkIjoiVUNMQSIsIm5hbWUiOiJCcnVpbnMiLCJtYXJrZXQi
|
78
|
+
OiJVQ0xBIiwicmFuayI6MTQsInBvaW50cyI6NjkxLCJ3aW5zIjo4LCJsb3Nz
|
79
|
+
ZXMiOjIsInRpZXMiOjB9LHsiaWQiOiJORCIsIm5hbWUiOiJGaWdodGluZyBJ
|
80
|
+
cmlzaCIsIm1hcmtldCI6Ik5vdHJlIERhbWUiLCJyYW5rIjoxNSwicG9pbnRz
|
81
|
+
Ijo2MzAsIndpbnMiOjcsImxvc3NlcyI6MiwidGllcyI6MH0seyJpZCI6IlVH
|
82
|
+
QSIsIm5hbWUiOiJCdWxsZG9ncyIsIm1hcmtldCI6Ikdlb3JnaWEiLCJyYW5r
|
83
|
+
IjoxNiwicG9pbnRzIjo2MjIsIndpbnMiOjcsImxvc3NlcyI6MiwidGllcyI6
|
84
|
+
MH0seyJpZCI6IkFSSSIsIm5hbWUiOiJXaWxkY2F0cyIsIm1hcmtldCI6IkFy
|
85
|
+
aXpvbmEiLCJyYW5rIjoxNywicG9pbnRzIjo0NzEsIndpbnMiOjcsImxvc3Nl
|
86
|
+
cyI6MiwidGllcyI6MH0seyJpZCI6IkNMRSIsIm5hbWUiOiJUaWdlcnMiLCJt
|
87
|
+
YXJrZXQiOiJDbGVtc29uIiwicmFuayI6MTgsInBvaW50cyI6NDU3LCJ3aW5z
|
88
|
+
Ijo3LCJsb3NzZXMiOjIsInRpZXMiOjB9LHsiaWQiOiJEVUsiLCJuYW1lIjoi
|
89
|
+
Qmx1ZSBEZXZpbHMiLCJtYXJrZXQiOiJEdWtlIiwicmFuayI6MTksInBvaW50
|
90
|
+
cyI6NDMxLCJ3aW5zIjo4LCJsb3NzZXMiOjEsInRpZXMiOjB9LHsiaWQiOiJM
|
91
|
+
U1UiLCJuYW1lIjoiVGlnZXJzIiwibWFya2V0IjoiTFNVIiwicmFuayI6MjAs
|
92
|
+
InBvaW50cyI6NDI5LCJ3aW5zIjo3LCJsb3NzZXMiOjMsInRpZXMiOjB9LHsi
|
93
|
+
aWQiOiJNU0giLCJuYW1lIjoiVGh1bmRlcmluZyBIZXJkIiwibWFya2V0Ijoi
|
94
|
+
TWFyc2hhbGwiLCJyYW5rIjoyMSwicG9pbnRzIjoyOTcsIndpbnMiOjksImxv
|
95
|
+
c3NlcyI6MCwidGllcyI6MH0seyJpZCI6IldJUyIsIm5hbWUiOiJCYWRnZXJz
|
96
|
+
IiwibWFya2V0IjoiV2lzY29uc2luIiwicmFuayI6MjIsInBvaW50cyI6MjI1
|
97
|
+
LCJ3aW5zIjo3LCJsb3NzZXMiOjIsInRpZXMiOjB9LHsiaWQiOiJDU1UiLCJu
|
98
|
+
YW1lIjoiUmFtcyIsIm1hcmtldCI6IkNvbG9yYWRvIFN0YXRlIiwicmFuayI6
|
99
|
+
MjMsInBvaW50cyI6MTI4LCJ3aW5zIjo5LCJsb3NzZXMiOjEsInRpZXMiOjB9
|
100
|
+
LHsiaWQiOiJHVCIsIm5hbWUiOiJZZWxsb3cgSmFja2V0cyIsIm1hcmtldCI6
|
101
|
+
Ikdlb3JnaWEgVGVjaCIsInJhbmsiOjI0LCJwb2ludHMiOjEyNywid2lucyI6
|
102
|
+
OCwibG9zc2VzIjoyLCJ0aWVzIjowfSx7ImlkIjoiVVRIIiwibmFtZSI6IlV0
|
103
|
+
ZXMiLCJtYXJrZXQiOiJVdGFoIiwicmFuayI6MjUsInBvaW50cyI6ODcsIndp
|
104
|
+
bnMiOjYsImxvc3NlcyI6MywidGllcyI6MH1dLCJjYW5kaWRhdGVzIjpbeyJp
|
105
|
+
ZCI6Ik9LTCIsIm5hbWUiOiJTb29uZXJzIiwibWFya2V0IjoiT2tsYWhvbWEi
|
106
|
+
LCJ2b3RlcyI6ODUsIndpbnMiOjYsImxvc3NlcyI6MywidGllcyI6MH0seyJp
|
107
|
+
ZCI6IlRYQU0iLCJuYW1lIjoiQWdnaWVzIiwibWFya2V0IjoiVGV4YXMgQSZN
|
108
|
+
Iiwidm90ZXMiOjgzLCJ3aW5zIjo3LCJsb3NzZXMiOjMsInRpZXMiOjB9LHsi
|
109
|
+
aWQiOiJNSVoiLCJuYW1lIjoiVGlnZXJzIiwibWFya2V0IjoiTWlzc291cmki
|
110
|
+
LCJ2b3RlcyI6NjgsIndpbnMiOjcsImxvc3NlcyI6MiwidGllcyI6MH0seyJp
|
111
|
+
ZCI6IlVTQyIsIm5hbWUiOiJUcm9qYW5zIiwibWFya2V0IjoiVVNDIiwidm90
|
112
|
+
ZXMiOjQ3LCJ3aW5zIjo2LCJsb3NzZXMiOjMsInRpZXMiOjB9LHsiaWQiOiJN
|
113
|
+
SU4iLCJuYW1lIjoiR29sZGVuIEdvcGhlcnMiLCJtYXJrZXQiOiJNaW5uZXNv
|
114
|
+
dGEiLCJ2b3RlcyI6MjYsIndpbnMiOjcsImxvc3NlcyI6MiwidGllcyI6MH0s
|
115
|
+
eyJpZCI6IkxPVSIsIm5hbWUiOiJDYXJkaW5hbHMiLCJtYXJrZXQiOiJMb3Vp
|
116
|
+
c3ZpbGxlIiwidm90ZXMiOjEyLCJ3aW5zIjo3LCJsb3NzZXMiOjMsInRpZXMi
|
117
|
+
OjB9LHsiaWQiOiJXVlUiLCJuYW1lIjoiTW91bnRhaW5lZXJzIiwibWFya2V0
|
118
|
+
IjoiV2VzdCBWaXJnaW5pYSIsInZvdGVzIjo2LCJ3aW5zIjo2LCJsb3NzZXMi
|
119
|
+
OjQsInRpZXMiOjB9LHsiaWQiOiJTVEEiLCJuYW1lIjoiQ2FyZGluYWwiLCJt
|
120
|
+
YXJrZXQiOiJTdGFuZm9yZCIsInZvdGVzIjo0LCJ3aW5zIjo1LCJsb3NzZXMi
|
121
|
+
OjQsInRpZXMiOjB9LHsiaWQiOiJCT0lTRSIsIm5hbWUiOiJCcm9uY29zIiwi
|
122
|
+
bWFya2V0IjoiQm9pc2UgU3RhdGUiLCJ2b3RlcyI6MSwid2lucyI6NywibG9z
|
123
|
+
c2VzIjoyLCJ0aWVzIjowfSx7ImlkIjoiR1NPIiwibmFtZSI6IkVhZ2xlcyIs
|
124
|
+
Im1hcmtldCI6Ikdlb3JnaWEgU291dGhlcm4iLCJ2b3RlcyI6MSwid2lucyI6
|
125
|
+
OCwibG9zc2VzIjoyLCJ0aWVzIjowfSx7ImlkIjoiTUZMIiwibmFtZSI6Ikh1
|
126
|
+
cnJpY2FuZXMiLCJtYXJrZXQiOiJNaWFtaSAoRkwpIiwidm90ZXMiOjEsIndp
|
127
|
+
bnMiOjYsImxvc3NlcyI6MywidGllcyI6MH1dfQ==
|
128
|
+
http_version:
|
129
|
+
recorded_at: Thu, 14 May 2015 13:17:13 GMT
|
130
|
+
recorded_with: VCR 2.4.0
|
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaafb::PollTeam, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaafb_polls',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
subject { SportsDataApi::Ncaafb::Polls }
|
9
|
+
|
10
|
+
context 'results from rankings fetch' do
|
11
|
+
let(:polls) do
|
12
|
+
SportsDataApi.set_access_level(:ncaafb, 't')
|
13
|
+
SportsDataApi.set_key(:ncaafb, api_key(:ncaafb))
|
14
|
+
SportsDataApi::Ncaafb.rankings(2014, :AP25, 12)
|
15
|
+
end
|
16
|
+
|
17
|
+
subject { polls.rankings.first }
|
18
|
+
|
19
|
+
it { should be_an_instance_of(SportsDataApi::Ncaafb::PollTeam) }
|
20
|
+
its(:id) { should eq 'MSST' }
|
21
|
+
its(:name) { should eq "Bulldogs" }
|
22
|
+
its(:market) { should eq 'Mississippi State' }
|
23
|
+
its(:points) { should eq 1488 }
|
24
|
+
its(:fp_votes) { should eq 48 }
|
25
|
+
its(:rank) { should eq 1 }
|
26
|
+
its(:wins) { should eq 9 }
|
27
|
+
its(:losses) { should eq 0 }
|
28
|
+
its(:ties) { should eq 0 }
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe SportsDataApi::Ncaafb::Polls, vcr: {
|
4
|
+
cassette_name: 'sports_data_api_ncaafb_polls',
|
5
|
+
record: :new_episodes,
|
6
|
+
match_requests_on: [:host, :path]
|
7
|
+
} do
|
8
|
+
subject { SportsDataApi::Ncaafb::Polls }
|
9
|
+
|
10
|
+
context 'results from rankings fetch' do
|
11
|
+
let(:polls) do
|
12
|
+
SportsDataApi.set_access_level(:ncaafb, 't')
|
13
|
+
SportsDataApi.set_key(:ncaafb, api_key(:ncaafb))
|
14
|
+
SportsDataApi::Ncaafb.rankings(2014, :AP25, 12)
|
15
|
+
end
|
16
|
+
|
17
|
+
subject { polls }
|
18
|
+
it { should be_an_instance_of(SportsDataApi::Ncaafb::Polls) }
|
19
|
+
its(:id) { should eq 'AP25' }
|
20
|
+
its(:name) { should eq "Associated Press Top 25" }
|
21
|
+
its(:season_type) { should eq 'REG' }
|
22
|
+
its(:rankings) { should have(25).rankings }
|
23
|
+
its(:candidates) { should have(11).candidates }
|
24
|
+
end
|
25
|
+
end
|
@@ -12,6 +12,11 @@ describe SportsDataApi::Ncaafb, vcr: {
|
|
12
12
|
SportsDataApi.set_access_level(:ncaafb, 't')
|
13
13
|
end
|
14
14
|
|
15
|
+
describe '.rankings' do
|
16
|
+
it { expect { subject.rankings(2014, :AP25, 22) }.to raise_error(SportsDataApi::Ncaafb::Exception) }
|
17
|
+
it { expect { subject.rankings(2014, :AP10, 12) }.to raise_error(SportsDataApi::Ncaafb::Exception) }
|
18
|
+
end
|
19
|
+
|
15
20
|
describe '.schedule' do
|
16
21
|
it { expect { subject.schedule(2013, :REG) }.to raise_error(SportsDataApi::Exception) }
|
17
22
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sports_data_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-05-
|
12
|
+
date: 2015-05-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: nokogiri
|
@@ -270,6 +270,8 @@ files:
|
|
270
270
|
- lib/sports_data_api/ncaafb/games.rb
|
271
271
|
- lib/sports_data_api/ncaafb/injuries.rb
|
272
272
|
- lib/sports_data_api/ncaafb/player.rb
|
273
|
+
- lib/sports_data_api/ncaafb/poll_team.rb
|
274
|
+
- lib/sports_data_api/ncaafb/polls.rb
|
273
275
|
- lib/sports_data_api/ncaafb/season.rb
|
274
276
|
- lib/sports_data_api/ncaafb/team.rb
|
275
277
|
- lib/sports_data_api/ncaafb/teams.rb
|
@@ -339,6 +341,7 @@ files:
|
|
339
341
|
- spec/cassettes/sports_data_api_ncaafb_broadcast.yml
|
340
342
|
- spec/cassettes/sports_data_api_ncaafb_game.yml
|
341
343
|
- spec/cassettes/sports_data_api_ncaafb_games.yml
|
344
|
+
- spec/cassettes/sports_data_api_ncaafb_polls.yml
|
342
345
|
- spec/cassettes/sports_data_api_ncaafb_season.yml
|
343
346
|
- spec/cassettes/sports_data_api_ncaafb_team.yml
|
344
347
|
- spec/cassettes/sports_data_api_ncaafb_team_hierarchy.yml
|
@@ -401,6 +404,8 @@ files:
|
|
401
404
|
- spec/lib/sports_data_api/ncaafb/broadcast_spec.rb
|
402
405
|
- spec/lib/sports_data_api/ncaafb/game_spec.rb
|
403
406
|
- spec/lib/sports_data_api/ncaafb/games_spec.rb
|
407
|
+
- spec/lib/sports_data_api/ncaafb/poll_team_spec.rb
|
408
|
+
- spec/lib/sports_data_api/ncaafb/polls_spec.rb
|
404
409
|
- spec/lib/sports_data_api/ncaafb/season_spec.rb
|
405
410
|
- spec/lib/sports_data_api/ncaafb/team_spec.rb
|
406
411
|
- spec/lib/sports_data_api/ncaafb/teams_spec.rb
|
@@ -497,6 +502,7 @@ test_files:
|
|
497
502
|
- spec/cassettes/sports_data_api_ncaafb_broadcast.yml
|
498
503
|
- spec/cassettes/sports_data_api_ncaafb_game.yml
|
499
504
|
- spec/cassettes/sports_data_api_ncaafb_games.yml
|
505
|
+
- spec/cassettes/sports_data_api_ncaafb_polls.yml
|
500
506
|
- spec/cassettes/sports_data_api_ncaafb_season.yml
|
501
507
|
- spec/cassettes/sports_data_api_ncaafb_team.yml
|
502
508
|
- spec/cassettes/sports_data_api_ncaafb_team_hierarchy.yml
|
@@ -559,6 +565,8 @@ test_files:
|
|
559
565
|
- spec/lib/sports_data_api/ncaafb/broadcast_spec.rb
|
560
566
|
- spec/lib/sports_data_api/ncaafb/game_spec.rb
|
561
567
|
- spec/lib/sports_data_api/ncaafb/games_spec.rb
|
568
|
+
- spec/lib/sports_data_api/ncaafb/poll_team_spec.rb
|
569
|
+
- spec/lib/sports_data_api/ncaafb/polls_spec.rb
|
562
570
|
- spec/lib/sports_data_api/ncaafb/season_spec.rb
|
563
571
|
- spec/lib/sports_data_api/ncaafb/team_spec.rb
|
564
572
|
- spec/lib/sports_data_api/ncaafb/teams_spec.rb
|