xmlsoccer 0.0.1

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.
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.travis.yml ADDED
@@ -0,0 +1,3 @@
1
+ rvm:
2
+ - 1.9.3
3
+
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in xmlsoccer.gemspec
4
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 Kavinder Dhaliwal
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,53 @@
1
+
2
+ # Xmlsoccer [![Build Status](https://secure.travis-ci.org/eifion/url_formatter.png)](https://secure.travis-ci.org/eifion/url_formatter.png)
3
+
4
+ This is a Ruby wrapper for the excellent soccer data Api that can be found at www.xmlsoccer.com
5
+
6
+ The API has data for all of the major leagues for both current and historic matches.
7
+
8
+ ## Installation
9
+
10
+ Add this line to your application's Gemfile:
11
+
12
+ gem 'xmlsoccer'
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install xmlsoccer
21
+
22
+ ## Usage
23
+
24
+ The XmlSoccer API is a SOAP service so this gem uses the 'Savon' gem to interface.
25
+
26
+ I would recommend everyone interested in using this gem to first read the documentation of the API @ http://xmlsoccer.wikia.com/wiki/Main_Page
27
+
28
+ Additionally, the author of the API has put a rate limit on all requests. The gem does check against last request times, but it is still worth knowing: http://xmlsoccer.wikia.com/wiki/Time_interval_limits
29
+
30
+ Currently there is not support for Live Match Data.
31
+
32
+ Example Use:
33
+
34
+ XmlSoccer Api GetAllLeagues
35
+
36
+ *You must have an API Key and know which version to use. Currently there are two versions Xmlsoccer::DEMO and Xmlsoccer::FULL*
37
+ xmlsoccer_client = Xmlsoccer::RequestManager.new(api_key: 'Api_key', api_version:'Api_Version')
38
+
39
+ leagues = xmlsoccer_client.get_all_leagues
40
+
41
+ leagues.each do |league|
42
+ put league[:name]
43
+ end
44
+
45
+ As time permits I will add extensive Ruby specific documentation to the Wiki for this repo.
46
+
47
+ ## Contributing
48
+
49
+ 1. Fork it
50
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
51
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
52
+ 4. Push to the branch (`git push origin my-new-feature`)
53
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
3
+ require 'rspec/core/rake_task'
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+ task default: :spec
@@ -0,0 +1,3 @@
1
+ module Xmlsoccer
2
+ VERSION = "0.0.1"
3
+ end
data/lib/xmlsoccer.rb ADDED
@@ -0,0 +1,205 @@
1
+ require "xmlsoccer/version"
2
+ require 'savon'
3
+
4
+ module Xmlsoccer
5
+
6
+ DEMO = "Demo"
7
+ FULL = "Full"
8
+ class RequestManager
9
+ @api_type = "Demo"
10
+ @base_url
11
+
12
+
13
+ attr_accessor :base_url, :api_type, :api_key
14
+
15
+ WAIT = 'Wait 5 minutes between calls'
16
+
17
+
18
+ def initialize(options={})
19
+ @api_key = options[:api_key]
20
+ @api_type = options[:api_type]
21
+ if @api_type == DEMO
22
+ @base_url = "http://www.xmlsoccer.com/FootballDataDemo.asmx?WSDL"
23
+ elsif @api_type == FULL
24
+ @base_url = "http://www.xmlsoccer.com/FootballData.asmx?WSDL"
25
+ end
26
+ @client = Savon.client(wsdl: @base_url)
27
+ end
28
+
29
+ def get_all_leagues
30
+ if @last_call && @last_call > 60.minutes.ago
31
+ return WAIT
32
+ else
33
+ response = @client.call(:get_all_leagues, message:{"ApiKey" => @api_key})
34
+ @last_call =Time.now
35
+ return response.hash[:envelope][:body][:get_all_leagues_response][:get_all_leagues_result][:xmlsoccer_com][:league]
36
+ end
37
+ end
38
+
39
+ def get_all_teams
40
+ if @last_call && @last_call > 60.minutes.ago
41
+ return WAIT
42
+ else
43
+ response = @client.call(:get_all_teams, message:{"ApiKey" => @api_key})
44
+ @last_call =Time.now
45
+ return response.hash[:envelope][:body][:get_all_teams_response][:get_all_teams_result][:xmlsoccer_com][:team]
46
+ end
47
+ end
48
+
49
+ def get_teams_in_league(league, season_year)
50
+ if @last_call && @last_call > 5.minutes.ago
51
+ return WAIT
52
+ else
53
+
54
+ response = @client.call(:get_all_teams_by_league_and_season, message: {"ApiKey" => @api_key, "league" => league, "seasonDateString" => season_year})
55
+ @last_call = Time.now
56
+ return response.hash[:envelope][:body][:get_all_teams_by_league_and_season_response][:get_all_teams_by_league_and_season_result][:xmlsoccer_com][:team]
57
+ end
58
+ end
59
+
60
+ def get_fixtures_by_date_interval(start_date, end_date)
61
+
62
+ if @last_call && @last_call > 5.minutes.ago
63
+ return WAIT
64
+ else
65
+ api_key = @api_key
66
+ response = @client.call(:get_fixtures_by_date_interval) do
67
+ message("ApiKey" => api_key,
68
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
69
+ "endDateString" => end_date.strftime("%Y-%m-%d"))
70
+ end
71
+ return response.hash[:envelope][:body][:get_fixtures_by_date_interval_response][:get_fixtures_by_date_interval_result][:xmlsoccer_com][:match]
72
+ end
73
+ end
74
+
75
+ def get_fixtures_by_date_interval_and_league(league, start_date, end_date)
76
+ if @last_call && @last_call > 5.minutes.ago
77
+ return WAIT
78
+ else
79
+ api_key = @api_key
80
+ response = @client.call(:get_fixtures_by_date_interval_and_league) do
81
+ message("ApiKey" => api_key,
82
+ "league" => league,
83
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
84
+ "endDateString" => end_date.strftime("%Y-%m-%d"))
85
+ end
86
+ response = response.hash
87
+ return response[:envelope][:body][:get_fixtures_by_date_interval_and_league_response][:get_fixtures_by_date_interval_and_league_result][:xmlsoccer_com][:match]
88
+ end
89
+ end
90
+
91
+ def get_fixtures_by_date_interval_and_team(team, start_date, end_date)
92
+ if @last_call && @last_call > 5.minutes.ago
93
+ return WAIT
94
+ else
95
+ api_key = @api_key
96
+ response = @client.call(:get_fixtures_by_date_interval_and_team) do
97
+ message("ApiKey" => api_key,
98
+ "team" => league,
99
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
100
+ "endDateString" => end_date.strftime("%Y-%m-%d"))
101
+ end
102
+ response = response.hash
103
+ return response[:envelope][:body][:get_fixtures_by_date_interval_and_team_response][:get_fixtures_by_date_interval_and_team_result][:xmlsoccer_com][:match]
104
+ end
105
+ end
106
+
107
+ def get_historic_matches_by_fixture_match_id(fixture_id)
108
+ if @last_call && @last_call > 5.minutes.ago
109
+ return WAIT
110
+ else
111
+ api_key = @api_key
112
+ response = @client.call(:get_historic_matches_by_fixture_match_id) do
113
+ message("ApiKey" => api_key,
114
+ "id" => id)
115
+ end
116
+ response = response.hash
117
+ matches = response[:envelope][:body][:get_historic_matches_by_fixture_match_id_response][:get_historic_matches_by_fixture_match_id_result][:xmlsoccer_com][:match]
118
+ return matches
119
+ end
120
+ end
121
+
122
+ def get_historic_matches_by_id(match_id)
123
+ if @last_call && @last_call > 5.minutes.ago
124
+ return WAIT
125
+ else
126
+ api_key = @api_key
127
+ response = @client.call(:get_historic_matches_by_id) do
128
+ message("ApiKey" => api_key,
129
+ "id" => id)
130
+ end
131
+ response = response.hash
132
+ matches = response[:envelope][:body][:get_historic_matches_by_id_response][:get_historic_matches_by_id_result][:xmlsoccer_com][:match]
133
+ return matches
134
+ end
135
+ end
136
+
137
+ def get_historic_matches_by_league_and_date_interval(league, start_date, end_date)
138
+ if @last_call && @last_call > 5.minutes.ago
139
+ return WAIT
140
+ else
141
+ api_key = @api_key
142
+ response = @client.call(:get_historic_matches_by_league_and_date_interval) do
143
+ message("ApiKey" => api_key,
144
+ "league" => league,
145
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
146
+ "endDateString" => end_date.strftime("%Y-%m-%d"))
147
+ end
148
+ response = response.hash
149
+ matches = response[:envelope][:body][:get_historic_matches_by_league_and_date_interval_response][:get_historic_matches_by_league_and_date_interval_result][:xmlsoccer_com][:match]
150
+ return matches
151
+ end
152
+ end
153
+
154
+ def get_historic_matches_by_league_and_season(league, interval)
155
+ if @last_call && @last_call > 5.minutes.ago
156
+ return WAIT
157
+ else
158
+ api_key = @api_key
159
+ response = @client.call(:get_historic_matches_by_league_and_season) do
160
+ message("ApiKey" => api_key,
161
+ "league" => league, "seasonDateString" => interval)
162
+ end
163
+ response = response.hash
164
+ matches = response[:envelope][:body][:get_historic_matches_by_league_and_season_response][:get_historic_matches_by_league_and_season_result][:xmlsoccer_com][:match]
165
+ return matches
166
+ end
167
+ end
168
+
169
+ def get_historic_matches_by_team_and_date_interval(team, start_date, end_date)
170
+ if @last_call && @last_call > 5.minutes.ago
171
+ return WAIT
172
+ else
173
+ api_key = @api_key
174
+ response = @client.call(:get_historic_matches_by_team_and_date_interval) do
175
+ message("ApiKey" => api_key,
176
+ "teamId" => team,
177
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
178
+ "endDateString" => end_date.strftime("%Y-%m-%d"))
179
+ end
180
+ response = response.hash
181
+ matches = response[:envelope][:body][:get_historic_matches_by_team_and_date_interval_response][:get_historic_matches_by_team_and_date_interval_result][:xmlsoccer_com][:match]
182
+ return matches
183
+ end
184
+ end
185
+
186
+ def get_historic_matches_by_teams_and_date_interval(team_1, team_2, start_date, end_date)
187
+ if @last_call && @last_call > 5.minutes.ago
188
+ return WAIT
189
+ else
190
+ api_key = @api_key
191
+ response = @client.call(:get_historic_matches_by_teams_and_date_interval) do
192
+ message("ApiKey" => api_key,
193
+ "team1Id" => team_1,
194
+ "team2Id" => team_2,
195
+ "startDateString" => start_date.strftime("%Y-%m-%d"),
196
+ "endDateString" => end_date.strftime("%Y-%m-%d"))
197
+ end
198
+ response = response.hash
199
+ matches = response[:envelope][:body][:get_historic_matches_by_teams_and_date_interval_response][:get_historic_matches_by_teams_and_date_interval_result][:xmlsoccer_com][:match]
200
+ return matches
201
+ end
202
+ end
203
+ end
204
+
205
+ end
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetAllLeaguesResponse>
5
+ <GetAllLeaguesResult>
6
+ <XMLSOCCER.COM>
7
+ <League>
8
+ <Id>1</Id>
9
+ <Name>English Premier League</Name>
10
+ <Country>England</Country>
11
+ <Historical_Data>Yes</Historical_Data>
12
+ <Fixtures>Yes</Fixtures>
13
+ <Livescore>Yes</Livescore>
14
+ <NumberOfMatches>2557</NumberOfMatches>
15
+ <LatestMatch>2013-03-02T16:00:00+01:00</LatestMatch>
16
+ </League>
17
+ <League>
18
+ <Id>2</Id>
19
+ <Name>English League Championship</Name>
20
+ <Country>England</Country>
21
+ <Historical_Data>Yes</Historical_Data>
22
+ <Fixtures>Yes</Fixtures>
23
+ <Livescore>Yes</Livescore>
24
+ <NumberOfMatches>3267</NumberOfMatches>
25
+ <LatestMatch>2013-03-02T16:00:00+01:00</LatestMatch>
26
+ </League>
27
+ <AccountInformation>Data requested at 02-03-2013 21:02:09 from XX.XX.XX.XX, Username: Espectro. Your current supscription runs out on XX-XX-XXXX 11:01:25.</AccountInformation>
28
+ </XMLSOCCER.COM>
29
+ </GetAllLeaguesResult>
30
+ </GetAllLeaguesResponse>
31
+ </Body>
32
+ </Envelope>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetAllTeamsResponse>
5
+ <GetAllTeamsResult>
6
+ <XMLSOCCER.COM>
7
+ <Team>
8
+ <Team_Id>4</Team_Id>
9
+ <Name>Fulham</Name>
10
+ <Country>England</Country>
11
+ <Stadium>Craven Cottage</Stadium>
12
+ <HomePageURL>http://www.fulhamfc.com/</HomePageURL>
13
+ <WIKILink>http://en.wikipedia.org/wiki/Fulham_F.C.</WIKILink>
14
+ </Team>
15
+ <Team>
16
+ <Team_Id>5</Team_Id>
17
+ <Name>Aston Villa</Name>
18
+ <Country>England</Country>
19
+ <Stadium>Villa Park</Stadium>
20
+ <HomePageURL>http://www.avfc.co.uk/9laI7Jw</HomePageURL>
21
+ <WIKILink>http://en.wikipedia.org/wiki/Aston_Villa_F.C.</WIKILink>
22
+ </Team>
23
+ </XMLSOCCER.COM>
24
+ </GetAllTeamsResult>
25
+ </GetAllTeamsResponse>
26
+ </Body>
27
+ </Envelope>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <Envelope>
3
+ <Body>
4
+ <GetAllTeamsByLeagueAndSeasonResponse>
5
+ <GetAllTeamsByLeagueAndSeasonResult>
6
+ <XMLSOCCER.COM>
7
+ <Team>
8
+ <Team_Id>4</Team_Id>
9
+ <Name>Fulham</Name>
10
+ <Country>England</Country>
11
+ <Stadium>Craven Cottage</Stadium>
12
+ <HomePageURL>http://www.fulhamfc.com/</HomePageURL>
13
+ <WIKILink>http://en.wikipedia.org/wiki/Fulham_F.C.</WIKILink>
14
+ </Team>
15
+ <Team>
16
+ <Team_Id>5</Team_Id>
17
+ <Name>Aston Villa</Name>
18
+ <Country>England</Country>
19
+ <Stadium>Villa Park</Stadium>
20
+ <HomePageURL>http://www.avfc.co.uk/9laI7Jw</HomePageURL>
21
+ <WIKILink>http://en.wikipedia.org/wiki/Aston_Villa_F.C.</WIKILink>
22
+ </Team>
23
+ </XMLSOCCER.COM>
24
+ </GetAllTeamsByLeagueAndSeasonResult>
25
+ </GetAllTeamsByLeagueAndSeasonResponse>
26
+ </Body>
27
+ </Envelope>
@@ -0,0 +1,9 @@
1
+ module HashedResponses
2
+
3
+ GetAllLeagues = {id: "1", name: "English Premier League",
4
+ country: "England", historical_data: "Yes", fixtures: "Yes", livescore: "Yes", number_of_matches: "2557",
5
+ latest_match: DateTime.parse("2013-03-02T16:00:00+01:00")}
6
+ GetAllTeams = { team_id: "4", name: "Fulham", country: "England", stadium: "Craven Cottage",home_page_url: "http://www.fulhamfc.com/", wiki_link: "http://en.wikipedia.org/wiki/Fulham_F.C."}
7
+
8
+
9
+ end
@@ -0,0 +1,6 @@
1
+ require 'xmlsoccer'
2
+
3
+
4
+ RSpec.configure do |config|
5
+
6
+ end
@@ -0,0 +1,131 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+ require "savon/mock/spec_helper"
4
+ require "fixtures/request_manager/hashed_responses"
5
+
6
+ describe Xmlsoccer do
7
+
8
+ include Savon::SpecHelper
9
+ include HashedResponses
10
+
11
+ before(:all) { savon.mock! }
12
+ after(:all) { savon.unmock! }
13
+
14
+ it 'returns correct string for DEMO' do
15
+ expect(Xmlsoccer::DEMO).to eq('Demo')
16
+ end
17
+
18
+ it 'returns correct string for FULL' do
19
+ expect(Xmlsoccer::FULL).to eq('Full')
20
+ end
21
+
22
+ describe Xmlsoccer::RequestManager do
23
+
24
+
25
+ it 'initializes with an api key and version' do
26
+ (Xmlsoccer::RequestManager.new(api_key: 'testkey', api_type: Xmlsoccer::DEMO)).should be_an_instance_of(Xmlsoccer::RequestManager)
27
+ end
28
+
29
+ before do
30
+ @client = Xmlsoccer::RequestManager.new(api_key: 'testkey', api_type: Xmlsoccer::FULL)
31
+ end
32
+
33
+ it 'returns valid api key' do
34
+ expect(@client.api_key).to eq('testkey')
35
+ end
36
+
37
+ it 'returns valid api type' do
38
+ expect(@client.api_type).to eq(Xmlsoccer::FULL)
39
+ end
40
+
41
+
42
+ it 'returns valid base url' do
43
+ expect(@client.base_url).to eq("http://www.xmlsoccer.com/FootballData.asmx?WSDL")
44
+ end
45
+
46
+ describe 'calls api methods:' do
47
+ end
48
+
49
+ describe 'GetAllLeagues' do
50
+ before do
51
+ message = {"ApiKey" => "testkey"}
52
+ fixture = File.read("spec/fixtures/request_manager/get_all_leagues.xml")
53
+
54
+ response = {code: 200, headers: {}, body: fixture}
55
+ savon.expects(:get_all_leagues).with(message: message).returns(response)
56
+ @array = @client.get_all_leagues
57
+ end
58
+
59
+ it 'returns an array' do
60
+ expect(@array).to be_an_instance_of(Array)
61
+ end
62
+
63
+ it 'responds to league attributes' do
64
+ expect(@array).to include(HashedResponses::GetAllLeagues)
65
+ end
66
+ end
67
+
68
+ describe 'GetAllTeams' do
69
+ before do
70
+ message = {"ApiKey" => "testkey"}
71
+ fixture = File.read("spec/fixtures/request_manager/get_all_teams.xml")
72
+
73
+ response = {code: 200, headers: {}, body: fixture}
74
+ savon.expects(:get_all_teams).with(message: message).returns(response)
75
+ @array = @client.get_all_teams
76
+ end
77
+
78
+ it 'returns an array' do
79
+ expect(@array).to be_an_instance_of(Array)
80
+ end
81
+
82
+ it 'responds to team attributes' do
83
+ expect(@array).to include(HashedResponses::GetAllTeams)
84
+ end
85
+ end
86
+
87
+ describe 'GetAllTeamsInLeague' do
88
+ before do
89
+ message = {"ApiKey" => "testkey",
90
+ "league" => "English Premier League", "seasonDateString" => "1011"}
91
+ fixture = File.read("spec/fixtures/request_manager/get_all_teams_by_league_and_season.xml")
92
+ response = {code: 200, headers: {}, body: fixture}
93
+ savon.expects(:get_all_teams_by_league_and_season).with(message: message).returns(response)
94
+ @array = @client.get_teams_in_league("English Premier League", "1011")
95
+ end
96
+
97
+ it 'returns an array' do
98
+ expect(@array).to be_an_instance_of(Array)
99
+ end
100
+
101
+ it 'responds to team attributes' do
102
+ expect(@array).to include(HashedResponses::GetAllTeams)
103
+ end
104
+
105
+ end
106
+
107
+
108
+ it 'gets all teams in a league'
109
+
110
+ it 'gets fixtures by a date interval'
111
+
112
+ it 'gets fixtures by date interval and league'
113
+
114
+ it 'gets fixtures by date interval and team'
115
+
116
+ it 'gets historic matches by fixture id'
117
+
118
+ it 'gets historic match by id'
119
+
120
+ it 'gets historic matches by league and date interval'
121
+
122
+ it 'gets historic matches by league and season'
123
+
124
+ it 'gets historic matches by team and date interval'
125
+
126
+ it 'gets historic matches between teams date interval'
127
+
128
+
129
+ end
130
+ end
131
+
data/xmlsoccer.gemspec ADDED
@@ -0,0 +1,23 @@
1
+ # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/xmlsoccer/version', __FILE__)
3
+
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Kavinder Dhaliwal"]
6
+ gem.email = ["kavinderd@gmail.com"]
7
+ gem.platform = Gem::Platform::RUBY
8
+ gem.description = %q{Gem to interface with the xmlsoccer.com API}
9
+ gem.summary = %q{Gem to interface witht the xmlsoccer.com API}
10
+ gem.add_development_dependency 'rspec'
11
+ gem.add_development_dependency 'webmock'
12
+ gem.add_development_dependency "rake"
13
+ gem.add_runtime_dependency "supermodel"
14
+ gem.homepage = ""
15
+
16
+ gem.add_dependency "savon"
17
+ gem.files = `git ls-files`.split($\)
18
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
19
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
20
+ gem.name = "xmlsoccer"
21
+ gem.require_paths = ["lib"]
22
+ gem.version = Xmlsoccer::VERSION
23
+ end
metadata ADDED
@@ -0,0 +1,147 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xmlsoccer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Kavinder Dhaliwal
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2013-05-01 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: '0'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: webmock
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rake
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: supermodel
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: savon
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ description: Gem to interface with the xmlsoccer.com API
95
+ email:
96
+ - kavinderd@gmail.com
97
+ executables: []
98
+ extensions: []
99
+ extra_rdoc_files: []
100
+ files:
101
+ - .gitignore
102
+ - .rspec
103
+ - .travis.yml
104
+ - Gemfile
105
+ - LICENSE
106
+ - README.md
107
+ - Rakefile
108
+ - lib/xmlsoccer.rb
109
+ - lib/xmlsoccer/version.rb
110
+ - spec/fixtures/request_manager/get_all_leagues.xml
111
+ - spec/fixtures/request_manager/get_all_teams.xml
112
+ - spec/fixtures/request_manager/get_all_teams_by_league_and_season.xml
113
+ - spec/fixtures/request_manager/hashed_responses.rb
114
+ - spec/spec_helper.rb
115
+ - spec/xmlsoccer_spec.rb
116
+ - xmlsoccer.gemspec
117
+ homepage: ''
118
+ licenses: []
119
+ post_install_message:
120
+ rdoc_options: []
121
+ require_paths:
122
+ - lib
123
+ required_ruby_version: !ruby/object:Gem::Requirement
124
+ none: false
125
+ requirements:
126
+ - - ! '>='
127
+ - !ruby/object:Gem::Version
128
+ version: '0'
129
+ required_rubygems_version: !ruby/object:Gem::Requirement
130
+ none: false
131
+ requirements:
132
+ - - ! '>='
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
135
+ requirements: []
136
+ rubyforge_project:
137
+ rubygems_version: 1.8.21
138
+ signing_key:
139
+ specification_version: 3
140
+ summary: Gem to interface witht the xmlsoccer.com API
141
+ test_files:
142
+ - spec/fixtures/request_manager/get_all_leagues.xml
143
+ - spec/fixtures/request_manager/get_all_teams.xml
144
+ - spec/fixtures/request_manager/get_all_teams_by_league_and_season.xml
145
+ - spec/fixtures/request_manager/hashed_responses.rb
146
+ - spec/spec_helper.rb
147
+ - spec/xmlsoccer_spec.rb