sports_data_api 0.0.3 → 0.1.0

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.
Files changed (124) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.ruby-gemset +1 -0
  4. data/.ruby-version +1 -0
  5. data/.travis.yml +2 -1
  6. data/Guardfile +1 -1
  7. data/README.md +20 -5
  8. data/lib/sports_data_api/exception.rb +5 -0
  9. data/lib/sports_data_api/mlb/boxscore.rb +36 -0
  10. data/lib/sports_data_api/mlb/broadcast.rb +14 -0
  11. data/lib/sports_data_api/mlb/game.rb +30 -0
  12. data/lib/sports_data_api/mlb/game_stat.rb +26 -0
  13. data/lib/sports_data_api/mlb/game_stats.rb +44 -0
  14. data/lib/sports_data_api/mlb/games.rb +29 -0
  15. data/lib/sports_data_api/mlb/player.rb +17 -0
  16. data/lib/sports_data_api/mlb/players.rb +42 -0
  17. data/lib/sports_data_api/mlb/season.rb +18 -0
  18. data/lib/sports_data_api/mlb/team.rb +35 -0
  19. data/lib/sports_data_api/mlb/teams.rb +42 -0
  20. data/lib/sports_data_api/mlb/venue.rb +15 -0
  21. data/lib/sports_data_api/mlb/venues.rb +37 -0
  22. data/lib/sports_data_api/mlb.rb +82 -0
  23. data/lib/sports_data_api/nba/broadcast.rb +14 -0
  24. data/lib/sports_data_api/nba/game.rb +54 -0
  25. data/lib/sports_data_api/nba/games.rb +26 -0
  26. data/lib/sports_data_api/nba/player.rb +22 -0
  27. data/lib/sports_data_api/nba/season.rb +28 -0
  28. data/lib/sports_data_api/nba/team.rb +40 -0
  29. data/lib/sports_data_api/nba/teams.rb +83 -0
  30. data/lib/sports_data_api/nba/venue.rb +20 -0
  31. data/lib/sports_data_api/nba.rb +71 -0
  32. data/lib/sports_data_api/nfl/broadcast.rb +15 -0
  33. data/lib/sports_data_api/nfl/game.rb +83 -0
  34. data/lib/sports_data_api/nfl/games.rb +29 -0
  35. data/lib/sports_data_api/nfl/injuries.rb +9 -0
  36. data/lib/sports_data_api/nfl/player.rb +15 -0
  37. data/lib/sports_data_api/nfl/player_season_stats.rb +26 -0
  38. data/lib/sports_data_api/nfl/season.rb +27 -0
  39. data/lib/sports_data_api/nfl/team.rb +46 -0
  40. data/lib/sports_data_api/nfl/team_roster.rb +17 -0
  41. data/lib/sports_data_api/nfl/team_season_stats.rb +19 -0
  42. data/lib/sports_data_api/nfl/teams.rb +84 -0
  43. data/lib/sports_data_api/nfl/venue.rb +22 -0
  44. data/lib/sports_data_api/nfl/weather.rb +17 -0
  45. data/lib/sports_data_api/nfl/week.rb +20 -0
  46. data/lib/sports_data_api/nfl.rb +98 -0
  47. data/lib/sports_data_api/stats.rb +13 -0
  48. data/lib/sports_data_api/version.rb +1 -1
  49. data/lib/sports_data_api.rb +37 -12
  50. data/spec/cassettes/sports_data_api_mlb_game.yml +20193 -0
  51. data/spec/cassettes/sports_data_api_mlb_game_boxscore.yml +225 -0
  52. data/spec/cassettes/sports_data_api_mlb_game_stats.yml +657 -0
  53. data/spec/cassettes/sports_data_api_mlb_games.yml +195 -0
  54. data/spec/cassettes/sports_data_api_mlb_player.yml +10891 -0
  55. data/spec/cassettes/sports_data_api_mlb_season.yml +20193 -0
  56. data/spec/cassettes/sports_data_api_mlb_team.yml +182 -0
  57. data/spec/cassettes/sports_data_api_mlb_team_roster.yml +10891 -0
  58. data/spec/cassettes/sports_data_api_mlb_teams.yml +403 -0
  59. data/spec/cassettes/sports_data_api_mlb_venues.yml +343 -0
  60. data/spec/cassettes/sports_data_api_nba.yml +74176 -0
  61. data/spec/cassettes/sports_data_api_nba_broadcast.yml +88 -0
  62. data/spec/cassettes/sports_data_api_nba_game.yml +21202 -0
  63. data/spec/cassettes/sports_data_api_nba_games.yml +128 -0
  64. data/spec/cassettes/sports_data_api_nba_league_hierarchy.yml +545 -0
  65. data/spec/cassettes/sports_data_api_nba_player.yml +244 -0
  66. data/spec/cassettes/sports_data_api_nba_season.yml +18228 -0
  67. data/spec/cassettes/sports_data_api_nba_team.yml +1398 -0
  68. data/spec/cassettes/sports_data_api_nba_team_roster.yml +244 -0
  69. data/spec/cassettes/sports_data_api_nba_venue.yml +88 -0
  70. data/spec/cassettes/sports_data_api_nfl.yml +19105 -0
  71. data/spec/cassettes/sports_data_api_nfl_broadcast.yml +112 -0
  72. data/spec/cassettes/sports_data_api_nfl_game.yml +16139 -0
  73. data/spec/cassettes/sports_data_api_nfl_games.yml +912 -0
  74. data/spec/cassettes/sports_data_api_nfl_player_season_stats.yml +997 -0
  75. data/spec/cassettes/sports_data_api_nfl_season.yml +14100 -0
  76. data/spec/cassettes/sports_data_api_nfl_team.yml +783 -0
  77. data/spec/cassettes/sports_data_api_nfl_team_hierarchy.yml +909 -0
  78. data/spec/cassettes/sports_data_api_nfl_team_roster.yml +618 -0
  79. data/spec/cassettes/sports_data_api_nfl_team_season_stats.yml +981 -0
  80. data/spec/cassettes/sports_data_api_nfl_venue.yml +112 -0
  81. data/spec/cassettes/sports_data_api_nfl_weather.yml +112 -0
  82. data/spec/cassettes/sports_data_api_nfl_week.yml +14100 -0
  83. data/spec/lib/sports_data_api/mlb/boxscore_spec.rb +63 -0
  84. data/spec/lib/sports_data_api/mlb/game_spec.rb +24 -0
  85. data/spec/lib/sports_data_api/mlb/game_stats_spec.rb +25 -0
  86. data/spec/lib/sports_data_api/mlb/games_spec.rb +24 -0
  87. data/spec/lib/sports_data_api/mlb/player_spec.rb +103 -0
  88. data/spec/lib/sports_data_api/mlb/players_spec.rb +17 -0
  89. data/spec/lib/sports_data_api/mlb/season_spec.rb +19 -0
  90. data/spec/lib/sports_data_api/mlb/team_spec.rb +24 -0
  91. data/spec/lib/sports_data_api/mlb/teams_spec.rb +30 -0
  92. data/spec/lib/sports_data_api/mlb/venues_spec.rb +17 -0
  93. data/spec/lib/sports_data_api/nba/broadcast_spec.rb +18 -0
  94. data/spec/lib/sports_data_api/nba/game_spec.rb +87 -0
  95. data/spec/lib/sports_data_api/nba/games_spec.rb +19 -0
  96. data/spec/lib/sports_data_api/nba/player_spec.rb +72 -0
  97. data/spec/lib/sports_data_api/nba/season_spec.rb +41 -0
  98. data/spec/lib/sports_data_api/nba/team_spec.rb +185 -0
  99. data/spec/lib/sports_data_api/nba/teams_spec.rb +76 -0
  100. data/spec/lib/sports_data_api/nba/venue_spec.rb +24 -0
  101. data/spec/lib/sports_data_api/nba_spec.rb +41 -0
  102. data/spec/lib/sports_data_api/nfl/broadcast_spec.rb +19 -0
  103. data/spec/lib/sports_data_api/nfl/game_spec.rb +126 -0
  104. data/spec/lib/sports_data_api/nfl/games_spec.rb +21 -0
  105. data/spec/lib/sports_data_api/nfl/player_season_stats.rb +28 -0
  106. data/spec/lib/sports_data_api/nfl/season_spec.rb +41 -0
  107. data/spec/lib/sports_data_api/nfl/team_roster_spec.rb +28 -0
  108. data/spec/lib/sports_data_api/nfl/team_season_stats.rb +19 -0
  109. data/spec/lib/sports_data_api/nfl/team_spec.rb +52 -0
  110. data/spec/lib/sports_data_api/nfl/teams_spec.rb +77 -0
  111. data/spec/lib/sports_data_api/nfl/venue_spec.rb +26 -0
  112. data/spec/lib/sports_data_api/nfl/weather_spec.rb +21 -0
  113. data/spec/lib/sports_data_api/nfl/week_spec.rb +21 -0
  114. data/spec/lib/sports_data_api/nfl_spec.rb +113 -0
  115. data/spec/lib/sports_data_api_spec.rb +8 -5
  116. data/spec/spec_helper.rb +30 -9
  117. data/sports_data_api.gemspec +19 -15
  118. metadata +267 -76
  119. data/.rvmrc +0 -38
  120. data/lib/nfl.rb +0 -149
  121. data/spec/lib/nfl_spec.rb +0 -125
  122. data/spec/xml/boxscore.xml +0 -93
  123. data/spec/xml/schedule.xml +0 -4067
  124. data/spec/xml/teams.xml +0 -119
@@ -0,0 +1,77 @@
1
+ require 'spec_helper'
2
+
3
+ describe SportsDataApi::Nfl::Teams, vcr: {
4
+ cassette_name: 'sports_data_api_nfl_team_hierarchy',
5
+ record: :new_episodes,
6
+ match_requests_on: [:host, :path]
7
+ } do
8
+ let(:teams) do
9
+ SportsDataApi.set_key(:nfl, api_key(:nfl))
10
+ SportsDataApi.set_access_level(:nfl, 't')
11
+ SportsDataApi::Nfl.teams
12
+ end
13
+
14
+ let(:url) { 'http://api.sportsdatallc.org/nfl-t1/teams/hierarchy.xml' }
15
+
16
+ let(:dolphins_xml) do
17
+ str = RestClient.get(url, params: { api_key: api_key(:nfl) }).to_s
18
+ xml = Nokogiri::XML(str)
19
+ xml.remove_namespaces!
20
+ xml.xpath('/league/conference/division/team[@id=\'MIA\']')
21
+ end
22
+
23
+ let(:dolphins) { SportsDataApi::Nfl::Team.new(dolphins_xml) }
24
+
25
+ subject { teams }
26
+ its(:conferences) { should eq %w(AFC NFC).map { |str| str.to_sym } }
27
+ its(:divisions) { should eq %w(AFC_EAST AFC_NORTH AFC_SOUTH AFC_WEST NFC_EAST NFC_NORTH NFC_SOUTH NFC_WEST).map { |str| str.to_sym } }
28
+ its(:count) { should eq 32 }
29
+
30
+ it { subject[:MIA].should eq dolphins }
31
+
32
+ describe 'meta methods' do
33
+ it { should respond_to :AFC }
34
+ it { should respond_to :NFC }
35
+ it { should respond_to :afc }
36
+ it { should respond_to :nfc }
37
+ it { should respond_to :NFC_WEST }
38
+ it { should respond_to :afc_east }
39
+ it { should respond_to :nfc_west }
40
+
41
+ its(:AFC) { should be_a Array }
42
+ its(:NFC) { should be_a Array }
43
+
44
+ context '#AFC' do
45
+ subject { teams.AFC }
46
+ its(:count) { should eq 16 }
47
+ end
48
+
49
+ context '#afc' do
50
+ subject { teams.afc }
51
+ its(:count) { should eq 16 }
52
+ end
53
+
54
+ context '#NFC' do
55
+ subject { teams.NFC }
56
+ its(:count) { should eq 16 }
57
+ end
58
+
59
+ context '#nfc' do
60
+ subject { teams.nfc }
61
+ its(:count) { should eq 16 }
62
+ end
63
+
64
+ context '#afc_east' do
65
+ subject { teams.afc_east }
66
+ its(:count) { should eq 4 }
67
+ it { should include dolphins }
68
+ end
69
+
70
+ context '#AFC_EAST' do
71
+ subject { teams.AFC_EAST }
72
+ its(:count) { should eq 4 }
73
+ it { should include dolphins }
74
+ end
75
+ end
76
+ end
77
+
@@ -0,0 +1,26 @@
1
+ require 'spec_helper'
2
+
3
+ describe SportsDataApi::Nfl::Venue, vcr: {
4
+ cassette_name: 'sports_data_api_nfl_venue',
5
+ record: :new_episodes,
6
+ match_requests_on: [:host, :path]
7
+ } do
8
+ let(:weekly_schedule) do
9
+ SportsDataApi.set_access_level(:nfl, 't')
10
+ SportsDataApi.set_key(:nfl, api_key(:nfl))
11
+ SportsDataApi::Nfl.weekly(2011, :PST, 4)
12
+ end
13
+ context 'results from weekly schedule fetch' do
14
+ subject { weekly_schedule.first.venue }
15
+ its(:id) { should eq '6ed18563-53e0-46c2-a91d-12d73a16456d' }
16
+ its(:name) { should eq 'Lucas Oil Stadium' }
17
+ its(:address) { should eq '500 S. Capitol Avenue' }
18
+ its(:city) { should eq 'Indianapolis' }
19
+ its(:state) { should eq 'IN' }
20
+ its(:zip) { '46225' }
21
+ its(:country) { should eq 'US' }
22
+ its(:capacity) { should eq '67000' }
23
+ its(:surface) { should eq 'artificial' }
24
+ its(:type) { should eq 'retractable_dome' }
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe SportsDataApi::Nfl::Weather, vcr: {
4
+ cassette_name: 'sports_data_api_nfl_weather',
5
+ record: :new_episodes,
6
+ match_requests_on: [:host, :path]
7
+ } do
8
+ let(:weekly_schedule) do
9
+ SportsDataApi.set_access_level(:nfl, 't')
10
+ SportsDataApi.set_key(:nfl, api_key(:nfl))
11
+ SportsDataApi::Nfl.weekly(2011, :PST, 4)
12
+ end
13
+ context 'results from weekly schedule fetch' do
14
+ subject { weekly_schedule.first.weather }
15
+ its(:temperature) { should eq 41 }
16
+ its(:condition) { should eq 'Clear' }
17
+ its(:humidity) { should eq 62 }
18
+ its(:wind_speed) { should eq 4 }
19
+ its(:wind_direction) { should eq 'N' }
20
+ end
21
+ end
@@ -0,0 +1,21 @@
1
+ require 'spec_helper'
2
+
3
+ describe SportsDataApi::Nfl::Week, vcr: {
4
+ cassette_name: 'sports_data_api_nfl_week',
5
+ record: :new_episodes,
6
+ match_requests_on: [:host, :path]
7
+ } do
8
+ context 'results from schedule fetch' do
9
+ let(:season) do
10
+ SportsDataApi.set_access_level(:nfl, 't')
11
+ SportsDataApi.set_key(:nfl, api_key(:nfl))
12
+ SportsDataApi::Nfl.schedule(2012, :REG)
13
+ end
14
+ subject { season.weeks.first }
15
+ it { should be_an_instance_of(SportsDataApi::Nfl::Week) }
16
+ its(:year) { should eq 2012 }
17
+ its(:season) { should eq :REG }
18
+ its(:number) { should eq 1 }
19
+ its(:games) { should have(16).games }
20
+ end
21
+ end
@@ -0,0 +1,113 @@
1
+ require 'spec_helper'
2
+
3
+ describe SportsDataApi::Nfl, vcr: {
4
+ cassette_name: 'sports_data_api_nfl',
5
+ record: :new_episodes,
6
+ match_requests_on: [:uri]
7
+ } do
8
+
9
+ context 'invalid API key' do
10
+ before(:each) do
11
+ SportsDataApi.set_key(:nfl, 'invalid_key')
12
+ SportsDataApi.set_access_level(:nfl, 't')
13
+ end
14
+ describe '.schedule' do
15
+ it { expect { subject.schedule(2013, :REG) }.to raise_error(SportsDataApi::Exception) }
16
+ end
17
+ describe '.boxscore' do
18
+ it { expect { subject.boxscore(2012, :REG, 9, 'IND', 'MIA') }.to raise_error(SportsDataApi::Exception) }
19
+ end
20
+ describe '.weekly' do
21
+ it { expect { subject.weekly(2013, :PRE, 1) }.to raise_error(SportsDataApi::Exception) }
22
+ end
23
+ end
24
+
25
+ context 'no response from the api' do
26
+ before(:each) { stub_request(:any, /api\.sportsdatallc\.org.*/).to_timeout }
27
+ describe '.schedule' do
28
+ it { expect { subject.schedule(2013, :REG) }.to raise_error(SportsDataApi::Exception) }
29
+ end
30
+ describe '.boxscore' do
31
+ it { expect { subject.boxscore(2012, :REG, 9, 'IND', 'MIA') }.to raise_error(SportsDataApi::Exception) }
32
+ end
33
+ describe '.weekly' do
34
+ it { expect { subject.weekly(2013, :PRE, 1) }.to raise_error(SportsDataApi::Exception) }
35
+ end
36
+ end
37
+
38
+ context 'create valid URLs' do
39
+ let(:schedule_url) { 'http://api.sportsdatallc.org/nfl-t1/2012/REG/schedule.xml' }
40
+ let(:boxscore_url) { 'http://api.sportsdatallc.org/nfl-t1/2012/REG/9/MIA/IND/boxscore.xml' }
41
+ let(:weekly_url) { 'http://api.sportsdatallc.org/nfl-t1/2012/PRE/1/schedule.xml' }
42
+ before(:each) do
43
+ SportsDataApi.set_key(:nfl, 'invalid_key')
44
+ SportsDataApi.set_access_level(:nfl, 't')
45
+ @schedule_xml = RestClient.get("#{schedule_url}?api_key=#{api_key(:nfl)}")
46
+ @boxscore_xml = RestClient.get("#{boxscore_url}?api_key=#{api_key(:nfl)}")
47
+ @weekly_xml = RestClient.get("#{weekly_url}?api_key=#{api_key(:nfl)}")
48
+ end
49
+ describe '.schedule' do
50
+ it 'creates a valid Sports Data LLC url' do
51
+ params = { params: { api_key: SportsDataApi.key(:nfl) } }
52
+ RestClient.should_receive(:get).with(schedule_url, params).and_return(@schedule_xml)
53
+ subject.schedule(2012, :REG)
54
+ end
55
+ end
56
+
57
+ describe '.boxscore' do
58
+ it 'creates a valid Sports Data LLC url' do
59
+ params = { params: { api_key: SportsDataApi.key(:nfl) } }
60
+ RestClient.should_receive(:get).with(boxscore_url, params).and_return(@boxscore_xml)
61
+ subject.boxscore(2012, :REG, 9, 'IND', 'MIA')
62
+ end
63
+ end
64
+
65
+ describe '.weekly' do
66
+ it 'creates a valid Sports Data LLC url' do
67
+ params = { params: { api_key: SportsDataApi.key(:nfl) } }
68
+ RestClient.should_receive(:get).with(weekly_url, params).and_return(@weekly_xml)
69
+ subject.weekly(2012, :PRE, 1)
70
+ end
71
+ end
72
+ end
73
+
74
+ describe "team based class methods" do
75
+ before do
76
+ SportsDataApi.set_key(:nfl, api_key(:nfl))
77
+ SportsDataApi.set_access_level(:nfl, 't')
78
+ end
79
+
80
+ context "#team_season_stats" do
81
+ it "returns the team id" do
82
+ expect(subject.team_season_stats("BUF", 2013, "REG").id).to eq "BUF"
83
+ end
84
+
85
+ it "returns an array of stats" do
86
+ expect(subject.team_season_stats("BUF", 2013, "REG").stats.kind_of?(Array)).to be true
87
+ end
88
+ end
89
+
90
+ context "#team_roster" do
91
+ it "returns an array" do
92
+ expect(subject.team_roster('MIA').players.kind_of?(Array)).to be true
93
+ end
94
+ end
95
+ end
96
+
97
+ describe "player based class methods" do
98
+ before do
99
+ SportsDataApi.set_key(:nfl, api_key(:nfl))
100
+ SportsDataApi.set_access_level(:nfl, 't')
101
+ end
102
+
103
+ context "#player_season_stats" do
104
+ it "responds to players" do
105
+ expect(subject.player_season_stats("BUF", 2013, "REG")).to respond_to :players
106
+ end
107
+
108
+ it "returns an array" do
109
+ expect(subject.player_season_stats("BUF", 2013, "REG").players.kind_of?(Array)).to be true
110
+ end
111
+ end
112
+ end
113
+ end
@@ -2,13 +2,16 @@ require "spec_helper"
2
2
 
3
3
  describe SportsDataApi do
4
4
  context "user supplied values" do
5
- let(:key) { "testing_key123" }
6
5
  let(:level) { "b" }
7
6
  before(:each) do
8
- SportsDataApi.key = key
9
- SportsDataApi.access_level = level
7
+ SportsDataApi.set_key(:foo, 'bar')
8
+ SportsDataApi.set_access_level(:foo, level)
9
+ end
10
+ it 'should have the proper access level for :foo' do
11
+ expect(SportsDataApi.access_level(:foo)).to eql 'b'
12
+ end
13
+ it 'should have the proper key for :foo' do
14
+ expect(SportsDataApi.key(:foo)).to eq 'bar'
10
15
  end
11
- its(:key) { should eq key }
12
- its(:access_level) { should eq level }
13
16
  end
14
17
  end
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,15 @@
1
+ require 'simplecov'
2
+ require 'coveralls'
3
+ require 'pry'
4
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
5
+ Coveralls::SimpleCov::Formatter,
6
+ SimpleCov::Formatter::HTMLFormatter
7
+ ]
8
+ SimpleCov.start do
9
+ add_filter "/spec/"
10
+ end
11
+
12
+ # Previous content of test helper now starts here
1
13
  require "sports_data_api"
2
14
 
3
15
  # This file was generated by the `rspec --init` command. Conventionally, all
@@ -7,16 +19,13 @@ require "sports_data_api"
7
19
  #
8
20
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
9
21
 
10
- def load_xml(filename)
11
- File.read("#{File.dirname(__FILE__)}/xml/#{filename}.xml")
12
- end
13
-
14
- def schedule_xml
15
- load_xml("schedule")
16
- end
22
+ require 'webmock/rspec'
23
+ require 'vcr'
17
24
 
18
- def boxscore_xml
19
- load_xml("boxscore")
25
+ def api_key(sport)
26
+ key = 'VALID_SPORTS_DATA_API_KEY'
27
+ key = ENV["SPORTS_DATA_#{sport.to_s.upcase}_API_KEY"] if ENV.has_key?("SPORTS_DATA_#{sport.to_s.upcase}_API_KEY")
28
+ key
20
29
  end
21
30
 
22
31
  RSpec.configure do |config|
@@ -30,3 +39,15 @@ RSpec.configure do |config|
30
39
  # --seed 1234
31
40
  config.order = 'random'
32
41
  end
42
+
43
+ VCR.configure do |c|
44
+ c.cassette_library_dir = 'spec/cassettes'
45
+ c.hook_into :webmock
46
+ c.preserve_exact_body_bytes { true }
47
+ c.configure_rspec_metadata!
48
+
49
+ ##
50
+ # Filter the real API key so that it does not make its way into the VCR cassette
51
+ c.filter_sensitive_data('<API_KEY>') { api_key(:nfl) }
52
+ c.filter_sensitive_data('<API_KEY>') { api_key(:nba) }
53
+ end
@@ -2,28 +2,32 @@
2
2
  require File.expand_path('../lib/sports_data_api/version', __FILE__)
3
3
 
4
4
  Gem::Specification.new do |gem|
5
- gem.authors = ["Ryan Lovelett"]
6
- gem.email = ["ryan@lovelett.me"]
5
+ gem.authors = %w{Ryan Lovelett}
6
+ gem.email = %w{ryan@lovelett.me'}
7
7
  gem.description = %q{A Ruby interface to the Sports Data API.}
8
8
  gem.summary = %q{SportsData’s comprehensive data coverage includes all major U.S. sports, plus hundreds of leagues throughout the world. Their live game analysts capture every possible event of every game, in real time and with accuracy standards developed from years of experience.}
9
- gem.homepage = "https://github.com/RLovelett/sports_data_api"
9
+ gem.homepage = 'https://github.com/RLovelett/sports_data_api'
10
10
 
11
11
  gem.files = `git ls-files`.split($\)
12
12
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
13
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
- gem.name = "sports_data_api"
15
- gem.require_paths = ["lib"]
14
+ gem.name = 'sports_data_api'
15
+ gem.require_paths = %w{lib}
16
16
  gem.version = SportsDataApi::VERSION
17
17
 
18
- gem.add_dependency "nokogiri", "~> 1.5.5"
19
- gem.add_dependency "rest-client", "~> 1.6.7"
18
+ gem.add_dependency 'nokogiri', '~> 1.5.5'
19
+ gem.add_dependency 'rest-client', '~> 1.6.7'
20
20
 
21
- gem.add_development_dependency "rake", "~> 0.9.2.2"
22
- gem.add_development_dependency "rspec", "~> 2.11.0"
23
- gem.add_development_dependency "rspec-xml", "~> 0.0.6"
24
- gem.add_development_dependency "guard-rspec", "~> 2.1.0"
25
- gem.add_development_dependency "rb-fsevent", "~> 0.9.1"
26
- gem.add_development_dependency "growl", "~> 1.0.3"
27
- gem.add_development_dependency "terminal-notifier-guard", "~> 1.5.3"
28
- gem.add_development_dependency "faker", "~> 1.1.2"
21
+ gem.add_development_dependency 'rake', '~> 10.0.4'
22
+ gem.add_development_dependency 'rspec', '~> 2.13.0'
23
+ gem.add_development_dependency 'rspec-xml', '~> 0.0.6'
24
+ gem.add_development_dependency 'guard-rspec', '~> 2.5.1'
25
+ gem.add_development_dependency 'rb-fsevent', '~> 0.9.1'
26
+ gem.add_development_dependency 'growl', '~> 1.0.3'
27
+ gem.add_development_dependency 'terminal-notifier-guard', '~> 1.5.3'
28
+ gem.add_development_dependency 'vcr', '~> 2.4.0'
29
+ gem.add_development_dependency 'webmock', '~> 1.9.0'
30
+ gem.add_development_dependency 'faker', '~> 1.1.2'
31
+ gem.add_development_dependency 'simplecov', '~> 0.7.1'
32
+ gem.add_development_dependency 'coveralls'
29
33
  end