Nbapi 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +29 -0
- data/lib/Nbapi/config.rb +25 -0
- data/lib/Nbapi/nbapi_client.rb +84 -0
- data/lib/Nbapi/version.rb +3 -0
- data/lib/Nbapi.rb +22 -0
- metadata +50 -0
data/README.md
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Nbapi
|
2
|
+
|
3
|
+
TODO: Write a gem description
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'Nbapi'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install Nbapi
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
TODO: Write usage instructions here
|
22
|
+
|
23
|
+
## Contributing
|
24
|
+
|
25
|
+
1. Fork it
|
26
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
27
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
28
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
29
|
+
5. Create new Pull Request
|
data/lib/Nbapi/config.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
module Nbapi
|
2
|
+
class Config
|
3
|
+
attr_accessor :access_token, :uri_events, :uri_boxscore, :uri_leaders, :uri_team_results, :response_format, :uri_teams,
|
4
|
+
:uri_standings
|
5
|
+
|
6
|
+
def initialize
|
7
|
+
set_defaults
|
8
|
+
end
|
9
|
+
|
10
|
+
def set_request_uris
|
11
|
+
@uri_leaders ||= "/nba/leaders/"
|
12
|
+
@uri_boxscore ||= "/nba/boxscore/"
|
13
|
+
@uri_events ||= "/events"
|
14
|
+
@uri_team_results ||= "/nba/team/"
|
15
|
+
@uri_teams ||= "/nba/teams"
|
16
|
+
@uri_standings ||= "/nba/standings"
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
def set_defaults
|
21
|
+
@access_token ||= "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
|
22
|
+
@response_format ||= "json"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,84 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'httparty'
|
3
|
+
require 'date'
|
4
|
+
|
5
|
+
module Nbapi
|
6
|
+
class NbapiClient
|
7
|
+
include HTTParty
|
8
|
+
base_uri 'https://erikberg.com'
|
9
|
+
|
10
|
+
|
11
|
+
def self.get_events(sport="nba", datetime="20130131", format="#{Nbapi.configuration.response_format}")
|
12
|
+
|
13
|
+
eb_response = get(base_uri + "#{Nbapi.configuration.uri_events}.#{format}",
|
14
|
+
:query => {:sport=>sport, :date=>datetime},
|
15
|
+
:headers =>{ "Authorization" => "Bearer #{Nbapi.configuration.access_token}"}
|
16
|
+
)
|
17
|
+
if eb_response.success?
|
18
|
+
return eb_response
|
19
|
+
else
|
20
|
+
return eb_response.response
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.get_boxscore(event_id="20120621-oklahoma-city-thunder-at-miami-heat", format="#{Nbapi.configuration.response_format}")
|
25
|
+
eb_response = get(base_uri + "#{Nbapi.configuration.uri_boxscore}/#{event_id}.#{format}",
|
26
|
+
:headers=>{"Authorization" => "Bearer #{Nbapi.configuration.access_token}"})
|
27
|
+
|
28
|
+
if eb_response.success?
|
29
|
+
return eb_response
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.get_leaders(category, return_players_ranked_less_than=15, return_qualified=true, season_type="regular")
|
34
|
+
eb_response = get(base_uri + "#{Nbapi.configuration.uri_leaders}/#{category}.json",
|
35
|
+
:query => {:limit => return_players_ranked_less_than, :qualified => return_qualified, :season_type => season_type},
|
36
|
+
:headers => {"Authorization" => "Bearer #{Nbapi.configuration.access_token}"})
|
37
|
+
|
38
|
+
if eb_response.success?
|
39
|
+
return eb_response
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.get_team_results(team_id)
|
44
|
+
eb_response = get(base_uri + "#{Nbapi.configuration.uri_team_results}/#{team_id}.json",
|
45
|
+
:headers => {"Authorization" => "Bearer #{Nbapi.configuration.access_token}"})
|
46
|
+
if eb_response.success?
|
47
|
+
return eb_response
|
48
|
+
else
|
49
|
+
return eb_response.response
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.get_teams
|
54
|
+
eb_response = get(base_uri + "#{Nbapi.configuration.uri_teams}.json",
|
55
|
+
:headers=>{"Authorization" => "Bearer #{Nbapi.configuration.access_token}"})
|
56
|
+
if eb_response.success?
|
57
|
+
return eb_response
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.get_standings(date="20111225", format="#{Nbapi.configuration.response_format}")
|
62
|
+
request_uri = build_standings_uri(date, format)
|
63
|
+
eb_response = get(request_uri,
|
64
|
+
:headers=>{"Authorization" => "Bearer #{Nbapi.configuration.access_token}"})
|
65
|
+
|
66
|
+
if eb_response.success?
|
67
|
+
return eb_response
|
68
|
+
else
|
69
|
+
return eb_response.response
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
private
|
74
|
+
def self.build_standings_uri(date, format)
|
75
|
+
unless date == "20111225"
|
76
|
+
standings_uri_request = base_uri + "#{Nbapi.configuration.uri_standings}/#{date}.#{format}"
|
77
|
+
else
|
78
|
+
standings_uri_request = base_uri + "#{Nbapi.configuration.uri_standings}.#{format}"
|
79
|
+
end
|
80
|
+
|
81
|
+
return standings_uri_request
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
data/lib/Nbapi.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'httparty'
|
2
|
+
require 'Nbapi/config'
|
3
|
+
Dir[File.dirname(__FILE__) + '/Nbapi/*.rb'].each { |file| require file }
|
4
|
+
|
5
|
+
module Nbapi
|
6
|
+
# Your code goes here...
|
7
|
+
# def self.configure
|
8
|
+
# yield configuration
|
9
|
+
# end
|
10
|
+
|
11
|
+
def self.configuration
|
12
|
+
@configuration ||= Nbapi::Config.new
|
13
|
+
@configuration.set_request_uris
|
14
|
+
|
15
|
+
return @configuration
|
16
|
+
end
|
17
|
+
|
18
|
+
# convenience method
|
19
|
+
def self.api_client
|
20
|
+
Nbapi::NbapiClient
|
21
|
+
end
|
22
|
+
end
|
metadata
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: Nbapi
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Raul Gil
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-08-10 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description: An api wrapper for the erikberg sports data api
|
15
|
+
email:
|
16
|
+
- raul.emmanuel.gil@gmail.com
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- lib/Nbapi/config.rb
|
22
|
+
- lib/Nbapi/nbapi_client.rb
|
23
|
+
- lib/Nbapi/version.rb
|
24
|
+
- lib/Nbapi.rb
|
25
|
+
- README.md
|
26
|
+
homepage: ''
|
27
|
+
licenses: []
|
28
|
+
post_install_message:
|
29
|
+
rdoc_options: []
|
30
|
+
require_paths:
|
31
|
+
- lib
|
32
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
|
+
none: false
|
40
|
+
requirements:
|
41
|
+
- - ! '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
requirements: []
|
45
|
+
rubyforge_project:
|
46
|
+
rubygems_version: 1.8.24
|
47
|
+
signing_key:
|
48
|
+
specification_version: 3
|
49
|
+
summary: An api wrapper for the erikberg sports data api
|
50
|
+
test_files: []
|