openfooty 0.1.0 → 0.2.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.
data/README.md CHANGED
@@ -31,11 +31,13 @@ Sign up for a Openfooty API key: [http://www.footytube.com/openfooty/signup.php]
31
31
  #### Examples
32
32
 
33
33
  >> openfooty = Openfooty::Client.new
34
- >> openfooty.team("getSquad", :team_id => 2281)
35
- => {"openfooty"=>{"players"=>{"player"=>[{"position"=>"", "cdata"=>"B. Bradley", "id"=>"130156"}, {"position"=>"Goalkeeper", "cdata"=>"B. Guzan", "id"=>"6912"}, {"position"=>"Goalkeeper", "cdata"=>"M. Hahnemann", "id"=>"629"}, {"position"=>"Goalkeeper", "cdata"=>"T. Howard", "id"=>"632"}, {"position"=>"Defender", "cdata"=>"C. Bocanegra", "id"=>"643"}, {"position"=>"Defender", "cdata"=>"J. Bornstein", "id"=>"6906"}, {"position"=>"Defender", "cdata"=>"S. Cherundolo", "id"=>"104666"}, {"position"=>"Defender", "cdata"=>"J. DeMerit", "id"=>"2541"}, {"position"=>"Defender", "cdata"=>"C. Goodson", "id"=>"7261"}, {"position"=>"Defender", "cdata"=>"C. Marshall", "id"=>"7214"}, {"position"=>"Defender", "cdata"=>"O. Onyewu", "id"=>"655"}, {"position"=>"Defender", "cdata"=>"H. Pearce", "id"=>"16404"}, {"position"=>"Defender", "cdata"=>"J. Spector", "id"=>"2712"}, {"position"=>"Midfielder", "cdata"=>"D. Beasley", "id"=>"659"}, {"position"=>"Midfielder", "cdata"=>"A. Bedoya", "id"=>"76707"}, {"position"=>"Midfielder", "cdata"=>"M. Bradley", "id"=>"2304"}, {"position"=>"Midfielder", "cdata"=>"R. Clark", "id"=>"10049"}, {"position"=>"Midfielder", "cdata"=>"C. Dempsey", "id"=>"664"}, {"position"=>"Midfielder", "cdata"=>"L. Donovan", "id"=>"666"}, {"position"=>"Midfielder", "cdata"=>"M. Edu", "id"=>"7452"}, {"position"=>"Midfielder", "cdata"=>"B. Feilhaber", "id"=>"2008"}, {"position"=>"Midfielder", "cdata"=>"S. Holden", "id"=>"7305"}, {"position"=>"Midfielder", "cdata"=>"S. Kljestan", "id"=>"6915"}, {"position"=>"Midfielder", "cdata"=>"R. Rogers", "id"=>"7226"}, {"position"=>"Midfielder", "cdata"=>"J. Torres", "id"=>"14359"}, {"position"=>"Attacker", "cdata"=>"J. Altidore", "id"=>"7422"}, {"position"=>"Attacker", "cdata"=>"E. Buddle", "id"=>"7445"}, {"position"=>"Attacker", "cdata"=>"B. Ching", "id"=>"673"}, {"position"=>"Attacker", "cdata"=>"R. Findley", "id"=>"7345"}, {"position"=>"Attacker", "cdata"=>"H. Gómez", "id"=>"6937"}, {"position"=>"Attacker", "cdata"=>"E. Johnson", "id"=>"674"}], "team_id"=>"2281"}, "response"=>{"status"=>"ok"}, "version"=>"1.0"}}
34
+ >> fixtures = openfooty.league("getFixtures", :league_id => 72).openfooty.fixtures.match
35
+ >> fixtures.first.home_team.cdata
36
+ => "South Africa"
36
37
 
37
- >> openfooty.match("getStats", :match_id => 781532)
38
- => {"openfooty"=>{"version"=>"1.0", "match"=>{"home_team"=>{"name"=>{"cdata"=>"Everton"}, "goals"=>{"goal"=>{"player_name"=>"D. Bilyaletdinov", "time"=>90, "player_id"=>6472, "type"=>"normal"}, "count"=>1}, "cards"=>{"count"=>0}, "assists"=>{"count"=>1, "assist"=>{"player_name"=>"J. Heitinga", "time"=>90, "player_id"=>17}}, "id"=>"674", "lineup"=>{"player"=>[{"cdata"=>"T. Howard", "id"=>632}, {"cdata"=>"L. Baines", "id"=>2672}, {"cdata"=>"P. Jagielka", "id"=>2600}, {"cdata"=>"T. Hibbert", "id"=>2868}, {"cdata"=>"S. Distin", "id"=>2846}, {"cdata"=>"M. Arteta", "id"=>2876}, {"cdata"=>"S. Pienaar", "id"=>1960}, {"cdata"=>"L. Osman", "id"=>2880}, {"cdata"=>"J. Rodwell", "id"=>23173}, {"cdata"=>"V. Anichebe", "id"=>2886}, {"cdata"=>"L. Saha", "id"=>552}], "substitution"=>[{"cdata"=>"A. Yakubu for J. Rodwell (55)", "player_id_on"=>"2839", "player_id_off"=>"23173"}, {"cdata"=>"D. Bilyaletdinov for V. Anichebe (66)", "player_id_on"=>"6472", "player_id_off"=>"2886"}, {"cdata"=>"J. Heitinga for M. Arteta (84)", "player_id_on"=>"17", "player_id_off"=>"2876"}]}}, "winner"=>{"cdata"=>"674"}, "date"=>{"cdata"=>"2010-05-09 15:00:00"}, "away_team"=>{"name"=>{"cdata"=>"Portsmouth"}, "goals"=>{"count"=>0}, "cards"=>{"count"=>0}, "assists"=>{"count"=>0}, "id"=>"673", "lineup"=>{"player"=>[{"cdata"=>"J. Ashdown", "id"=>2638}, {"cdata"=>"M. Wilson", "id"=>22852}, {"cdata"=>"A. Mokoena", "id"=>2687}, {"cdata"=>"Ricardo Rocha", "id"=>4531}, {"cdata"=>"A. Vanden Borre", "id"=>4585}, {"cdata"=>"S. Finnan", "id"=>2966}, {"cdata"=>"Bouba Diop", "id"=>2751}, {"cdata"=>"H. Mullins", "id"=>2722}, {"cdata"=>"K. Boateng", "id"=>1870}, {"cdata"=>"F. Piquionne", "id"=>1328}, {"cdata"=>"J. Utaka", "id"=>1471}], "substitution"=>[{"cdata"=>"J. O'Hara for M. Wilson (45)", "player_id_on"=>"5888", "player_id_off"=>"22852"}, {"cdata"=>"T. Ben Haim for A. Mokoena (66)", "player_id_on"=>"2625", "player_id_off"=>"2687"}, {"cdata"=>"A. Basinas for F. Piquionne (77)", "player_id_on"=>"3605", "player_id_off"=>"1328"}]}}, "status"=>{"cdata"=>"Played"}, "score"=>{"cdata"=>"1-0"}, "ht_score"=>{"cdata"=>"0-0"}}}}
38
+ >> stats = openfooty.match("getStats", :match_id => 781512).openfooty.match
39
+ >> stats.home_team.assists.assist.last.player_name
40
+ => "T. Cahill"
39
41
 
40
42
 
41
43
  ## Copyright
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ begin
7
7
  Jeweler::Tasks.new do |gem|
8
8
  gem.name = "openfooty"
9
9
  gem.summary = %Q{Ruby wrapper for the Openfooty API}
10
- gem.description = %Q{Ruby wrapper for the Openfooy API}
10
+ gem.description = %Q{Ruby wrapper for the Openfooty API}
11
11
  gem.email = "johnnyn@gmail.com"
12
12
  gem.homepage = "http://github.com/phuphighter/openfooty"
13
13
  gem.authors = ["Johnny Khai Nguyen"]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.2.0
@@ -0,0 +1,79 @@
1
+ module Openfooty
2
+
3
+ class Client
4
+ include HTTParty
5
+ base_uri "http://api.openfooty.org/1.0"
6
+ format :json
7
+
8
+ attr_reader :api_key
9
+
10
+ # Usage
11
+ # openfooty = Openfooty::Client.new
12
+ # openfooty.team("getFixtures", :team_id => "id")
13
+ # openfooty.match("getStats", :match_id => "id")
14
+
15
+ # Other API methods here: http://www.footytube.com/openfooty/karma.php
16
+
17
+ def initialize(options={})
18
+ @api_key = options[:api_key] || Openfooty.api_key
19
+ end
20
+
21
+ def auth(method, options={})
22
+ mashup(self.class.get("/auth.#{method}", :query => options.merge(self.default_options)))
23
+ end
24
+
25
+ def betting(method, options={})
26
+ mashup(self.class.get("/betting.#{method}", :query => options.merge(self.default_options)))
27
+ end
28
+
29
+ def channel(method, options={})
30
+ mashup(self.class.get("/channel.#{method}", :query => options.merge(self.default_options)))
31
+ end
32
+
33
+ def community(method, options={})
34
+ mashup(self.class.get("/community.#{method}", :query => options.merge(self.default_options)))
35
+ end
36
+
37
+ def league(method, options={})
38
+ mashup(self.class.get("/league.#{method}", :query => options.merge(self.default_options)))
39
+ end
40
+
41
+ def match(method, options={})
42
+ mashup(self.class.get("/match.#{method}", :query => options.merge(self.default_options)))
43
+ end
44
+
45
+ def player(method, options={})
46
+ mashup(self.class.get("/player.#{method}", :query => options.merge(self.default_options)))
47
+ end
48
+
49
+ def team(method, options={})
50
+ mashup(self.class.get("/team.#{method}", :query => options.merge(self.default_options)))
51
+ end
52
+
53
+ def video(method, options={})
54
+ mashup(self.class.get("/video.#{method}", :query => options.merge(self.default_options)))
55
+ end
56
+
57
+ protected
58
+
59
+ def default_options
60
+ {:api_key => @api_key, :format => :json}
61
+ end
62
+
63
+ def mashup(response)
64
+ case response.code
65
+ when 200
66
+ if response.is_a?(Hash)
67
+ Hashie::Mash.new(response)
68
+ else
69
+ if response.first.is_a?(Hash)
70
+ response.map{|item| Hashie::Mash.new(item)}
71
+ else
72
+ response
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+
79
+ end
data/openfooty.gemspec ADDED
@@ -0,0 +1,63 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{openfooty}
8
+ s.version = "0.2.0"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Johnny Khai Nguyen"]
12
+ s.date = %q{2010-06-08}
13
+ s.description = %q{Ruby wrapper for the Openfooty API}
14
+ s.email = %q{johnnyn@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "README.md"
17
+ ]
18
+ s.files = [
19
+ "MIT-LICENSE",
20
+ "README.md",
21
+ "Rakefile",
22
+ "VERSION",
23
+ "init.rb",
24
+ "install.rb",
25
+ "lib/openfooty.rb",
26
+ "lib/openfooty/client.rb",
27
+ "openfooty.gemspec",
28
+ "pkg/openfooty-0.1.0.gem",
29
+ "tasks/openfooty_tasks.rake",
30
+ "test/fixtures/league_fixtures.json",
31
+ "test/fixtures/match_stats.json",
32
+ "test/fixtures/team_squad.json",
33
+ "test/helper.rb",
34
+ "test/openfooty_test.rb",
35
+ "uninstall.rb"
36
+ ]
37
+ s.homepage = %q{http://github.com/phuphighter/openfooty}
38
+ s.rdoc_options = ["--charset=UTF-8"]
39
+ s.require_paths = ["lib"]
40
+ s.rubygems_version = %q{1.3.6}
41
+ s.summary = %q{Ruby wrapper for the Openfooty API}
42
+ s.test_files = [
43
+ "test/helper.rb",
44
+ "test/openfooty_test.rb"
45
+ ]
46
+
47
+ if s.respond_to? :specification_version then
48
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
49
+ s.specification_version = 3
50
+
51
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
52
+ s.add_runtime_dependency(%q<httparty>, [">= 0.5.0"])
53
+ s.add_runtime_dependency(%q<hashie>, [">= 0.1.3"])
54
+ else
55
+ s.add_dependency(%q<httparty>, [">= 0.5.0"])
56
+ s.add_dependency(%q<hashie>, [">= 0.1.3"])
57
+ end
58
+ else
59
+ s.add_dependency(%q<httparty>, [">= 0.5.0"])
60
+ s.add_dependency(%q<hashie>, [">= 0.1.3"])
61
+ end
62
+ end
63
+
Binary file
@@ -0,0 +1 @@
1
+ {"openfooty":{"version":"1.0","response":{"status":"ok"},"fixtures":{"hasMorePages":"true","nextPage":2,"match":[{"match_id":"878771","league":{"id":"72","season_id":"4770","cdata":"World Cup"},"home_team":{"team_id":"2014","cdata":"South Africa"},"away_team":{"team_id":"1497","cdata":"Mexico"},"date":{"ts":"1276264800","cdata":"2010-06-11 14:00:00"},"status":{"cdata":"Fixture"},"ft_score":{"cdata":null},"winner":{"cdata":null}},{"match_id":"878772","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878778","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878777","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878783","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878784","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878790","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878789","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878795","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878796","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878801","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878802","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878808","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878807","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878814","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878813","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878773","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878779","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878780","league":{"id":"72","season_id":"4770","cdata":"World Cup"}},{"match_id":"878774","league":{"id":"72","season_id":"4770","cdata":"World Cup"}}]}}}
@@ -0,0 +1 @@
1
+ {"openfooty"=>{"version"=>"1.0", "match"=>{"home_team"=>{"name"=>{"cdata"=>"Everton"}, "goals"=>{"goal"=>[{"player_name"=>"C. Smalling", "time"=>49, "player_id"=>79474, "type"=>"owngoal"}, {"player_name"=>"M. Arteta", "time"=>90, "player_id"=>2876, "type"=>"penalty"}], "count"=>2}, "cards"=>{"count"=>0}, "assists"=>{"count"=>2, "assist"=>[{"player_name"=>"V. Anichebe", "time"=>49, "player_id"=>2886}, {"player_name"=>"T. Cahill", "time"=>90, "player_id"=>709}]}, "id"=>"674", "lineup"=>{"player"=>[{"cdata"=>"T. Howard", "id"=>632}, {"cdata"=>"S. Distin", "id"=>2846}, {"cdata"=>"T. Hibbert", "id"=>2868}, {"cdata"=>"P. Jagielka", "id"=>2600}, {"cdata"=>"L. Baines", "id"=>2672}, {"cdata"=>"M. Arteta", "id"=>2876}, {"cdata"=>"D. Bilyaletdinov", "id"=>6472}, {"cdata"=>"S. Pienaar", "id"=>1960}, {"cdata"=>"P. Neville", "id"=>2874}, {"cdata"=>"T. Cahill", "id"=>709}, {"cdata"=>"A. Yakubu", "id"=>2839}], "substitution"=>[{"cdata"=>"V. Anichebe for D. Bilyaletdinov (45)", "player_id_on"=>"2886", "player_id_off"=>"6472"}, {"cdata"=>"L. Saha for P. Neville (60)", "player_id_on"=>"552", "player_id_off"=>"2874"}, {"cdata"=>"J. Baxter for A. Yakubu (87)", "player_id_on"=>"55559", "player_id_off"=>"2839"}]}}, "winner"=>{"cdata"=>"674"}, "date"=>{"cdata"=>"2010-04-25 14:00:00"}, "away_team"=>{"name"=>{"cdata"=>"Fulham"}, "goals"=>{"goal"=>{"player_name"=>"E. Nevland", "time"=>36, "player_id"=>2288, "type"=>"normal"}, "count"=>1}, "cards"=>{"card"=>{"player_name"=>"J. Paintsil", "time"=>39, "player_id"=>611, "type"=>"yellow"}, "count"=>1}, "assists"=>{"count"=>0}, "id"=>"667", "lineup"=>{"player"=>[{"cdata"=>"M. Schwarzer", "id"=>702}, {"cdata"=>"C. Baird", "id"=>15481}, {"cdata"=>"C. Smalling", "id"=>79474}, {"cdata"=>"J. Paintsil", "id"=>611}, {"cdata"=>"N. Shorey", "id"=>2568}, {"cdata"=>"K. Dikgacoi", "id"=>21660}, {"cdata"=>"C. Dempsey", "id"=>664}, {"cdata"=>"J. Greening", "id"=>15429}, {"cdata"=>"B. Riise", "id"=>7773}, {"cdata"=>"E. Nevland", "id"=>2288}, {"cdata"=>"S. Okaka Chuka", "id"=>18418}], "substitution"=>[{"cdata"=>"D. Elm for E. Nevland (78)", "player_id_on"=>"6275", "player_id_off"=>"2288"}, {"cdata"=>"F. Stoor for S. Okaka Chuka (89)", "player_id_on"=>"7905", "player_id_off"=>"18418"}]}}, "status"=>{"cdata"=>"Played"}, "score"=>{"cdata"=>"2-1"}, "ht_score"=>{"cdata"=>"0-1"}}}}
@@ -0,0 +1 @@
1
+ {"openfooty"=>{"players"=>{"player"=>[{"position"=>"", "cdata"=>"B. Bradley", "id"=>"130156"}, {"position"=>"Goalkeeper", "cdata"=>"B. Guzan", "id"=>"6912"}, {"position"=>"Goalkeeper", "cdata"=>"M. Hahnemann", "id"=>"629"}, {"position"=>"Goalkeeper", "cdata"=>"T. Howard", "id"=>"632"}, {"position"=>"Defender", "cdata"=>"C. Bocanegra", "id"=>"643"}, {"position"=>"Defender", "cdata"=>"J. Bornstein", "id"=>"6906"}, {"position"=>"Defender", "cdata"=>"S. Cherundolo", "id"=>"104666"}, {"position"=>"Defender", "cdata"=>"J. DeMerit", "id"=>"2541"}, {"position"=>"Defender", "cdata"=>"C. Goodson", "id"=>"7261"}, {"position"=>"Defender", "cdata"=>"C. Marshall", "id"=>"7214"}, {"position"=>"Defender", "cdata"=>"O. Onyewu", "id"=>"655"}, {"position"=>"Defender", "cdata"=>"H. Pearce", "id"=>"16404"}, {"position"=>"Defender", "cdata"=>"J. Spector", "id"=>"2712"}, {"position"=>"Midfielder", "cdata"=>"D. Beasley", "id"=>"659"}, {"position"=>"Midfielder", "cdata"=>"A. Bedoya", "id"=>"76707"}, {"position"=>"Midfielder", "cdata"=>"M. Bradley", "id"=>"2304"}, {"position"=>"Midfielder", "cdata"=>"R. Clark", "id"=>"10049"}, {"position"=>"Midfielder", "cdata"=>"C. Dempsey", "id"=>"664"}, {"position"=>"Midfielder", "cdata"=>"L. Donovan", "id"=>"666"}, {"position"=>"Midfielder", "cdata"=>"M. Edu", "id"=>"7452"}, {"position"=>"Midfielder", "cdata"=>"B. Feilhaber", "id"=>"2008"}, {"position"=>"Midfielder", "cdata"=>"S. Holden", "id"=>"7305"}, {"position"=>"Midfielder", "cdata"=>"S. Kljestan", "id"=>"6915"}, {"position"=>"Midfielder", "cdata"=>"R. Rogers", "id"=>"7226"}, {"position"=>"Midfielder", "cdata"=>"J. Torres", "id"=>"14359"}, {"position"=>"Attacker", "cdata"=>"J. Altidore", "id"=>"7422"}, {"position"=>"Attacker", "cdata"=>"E. Buddle", "id"=>"7445"}, {"position"=>"Attacker", "cdata"=>"B. Ching", "id"=>"673"}, {"position"=>"Attacker", "cdata"=>"R. Findley", "id"=>"7345"}, {"position"=>"Attacker", "cdata"=>"H. Gómez", "id"=>"6937"}, {"position"=>"Attacker", "cdata"=>"E. Johnson", "id"=>"674"}], "team_id"=>"2281"}, "response"=>{"status"=>"ok"}, "version"=>"1.0"}}
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 1
7
+ - 2
8
8
  - 0
9
- version: 0.1.0
9
+ version: 0.2.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Johnny Khai Nguyen
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: 0.1.3
46
46
  type: :runtime
47
47
  version_requirements: *id002
48
- description: Ruby wrapper for the Openfooy API
48
+ description: Ruby wrapper for the Openfooty API
49
49
  email: johnnyn@gmail.com
50
50
  executables: []
51
51
 
@@ -61,7 +61,14 @@ files:
61
61
  - init.rb
62
62
  - install.rb
63
63
  - lib/openfooty.rb
64
+ - lib/openfooty/client.rb
65
+ - openfooty.gemspec
66
+ - pkg/openfooty-0.1.0.gem
64
67
  - tasks/openfooty_tasks.rake
68
+ - test/fixtures/league_fixtures.json
69
+ - test/fixtures/match_stats.json
70
+ - test/fixtures/team_squad.json
71
+ - test/helper.rb
65
72
  - test/openfooty_test.rb
66
73
  - uninstall.rb
67
74
  has_rdoc: true