eventbrite_api 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.
- checksums.yaml +15 -0
- data/ReadMe.md +54 -0
- data/eventbrite_api.gemspec +18 -0
- data/lib/eventbrite_api.rb +18 -0
- data/lib/eventbrite_api/configuration.rb +11 -0
- data/lib/eventbrite_api/request.rb +35 -0
- data/lib/eventbrite_api/response.rb +9 -0
- metadata +76 -0
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZjI5Mjg0ZmM3OTY3ZjZjMmI3YThkY2ZiYWVjYTVlOTc1NDRiYjE2Ng==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MGU4Y2YwZjdhYzIyYmQxYWVkODRmZTE1MGJmYmQ2NmQ0Nzc2NTYyOQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
M2YxYzNhNmY0YmMzNTA0NmQ3MGU1MzRlNWM3NzQwZTZlNzE0Nzg5ZTlhMzg2
|
10
|
+
Njg3MGM1MTJkZDBmZGUzMThmYTYzN2MwZTFjZTZlYThmNmI0NDQ2NjE0NDFh
|
11
|
+
ZTA3MzI2NGU3ZDQwZGM4NmQxYmI4ZGJlN2RmZGRhMTk5NGUzNTA=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MjY5Y2M1MDMyM2RjYWIyNjljNDUyNGJkMTA5MTM0NDNiZWM0ZjQ4MzZkNWE4
|
14
|
+
ZTY3YWJkYWZlN2YyYmY4ZjYyZTA3ODhiMWNkNzExYWIyNDY4NTEwNzAyZmM4
|
15
|
+
NWE5MTJlNDVlN2U4ZTM5MmNkYmY4MzRkNTRmNzc5MTA1MTU0NmI=
|
data/ReadMe.md
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
This gem is for Eventbrite V3 API only.
|
2
|
+
|
3
|
+
# Get Started
|
4
|
+
|
5
|
+
gem install eventbrite-api
|
6
|
+
|
7
|
+
For Rails project:
|
8
|
+
|
9
|
+
add gem 'eventbrite-api' to your Gemfile.
|
10
|
+
add ``EventbriteAPI::Configuration.access_token="your-oauth-token"`` in initializers.
|
11
|
+
|
12
|
+
## Quick examples
|
13
|
+
|
14
|
+
``@eb = EventbriteAPI.new``
|
15
|
+
|
16
|
+
### For Event API call:
|
17
|
+
``@event = @eb.events(id: 123456)``
|
18
|
+
|
19
|
+
Get event details: ``@event.get``
|
20
|
+
|
21
|
+
Get event attendees: ``@event.attendees.get``
|
22
|
+
|
23
|
+
For a specific attendee: ``@event.attendees(id: 1234567).get``
|
24
|
+
|
25
|
+
Use options: ``@event.attendees(status: "attending").get``
|
26
|
+
|
27
|
+
Get event teams: ``@event.teams.get``
|
28
|
+
|
29
|
+
Get event team attendees: ``@event.teams(id: 123456).attendees.get``
|
30
|
+
|
31
|
+
### For User API call:
|
32
|
+
|
33
|
+
When using personal OAuth token:
|
34
|
+
``@user = @eb.users(id: "me")``
|
35
|
+
|
36
|
+
When using a third party OAuth token:
|
37
|
+
``@user = @eb.users(id: third_party_user_id)``
|
38
|
+
|
39
|
+
OAuth token needs to be updated before making an API call on behalf of a third party:
|
40
|
+
``EventbriteAPI::Configuration.access_token="third-party-user-oauth-token"``
|
41
|
+
|
42
|
+
Get user details: ``@user.get``
|
43
|
+
|
44
|
+
Get user team attendees: ``@user.owned_event_attendees.get``
|
45
|
+
|
46
|
+
### For Order API call:
|
47
|
+
|
48
|
+
``@order = @eb.orders(id: 123456)``
|
49
|
+
``@order.get``
|
50
|
+
|
51
|
+
This gem also provides ``.post`` request as well as the ``.get`` above, but the V3 API is still in preview status and doesn't seem to recognize the arguments in the documentation for POST request.
|
52
|
+
|
53
|
+
For more information about V3 API, please visit http://developer.eventbrite.com/docs/.
|
54
|
+
|
@@ -0,0 +1,18 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = "eventbrite_api"
|
3
|
+
s.authors = ["Xin Fan (Fred)"]
|
4
|
+
s.version = "0.0.1"
|
5
|
+
s.email = "fredxinfan@gmail.com"
|
6
|
+
s.summary = "A simple API wrapper for Eventbrite V3."
|
7
|
+
s.files = [
|
8
|
+
"ReadMe.md",
|
9
|
+
"eventbrite_api.gemspec",
|
10
|
+
"lib/eventbrite_api.rb",
|
11
|
+
"lib/eventbrite_api/configuration.rb",
|
12
|
+
"lib/eventbrite_api/request.rb",
|
13
|
+
"lib/eventbrite_api/response.rb"
|
14
|
+
]
|
15
|
+
|
16
|
+
s.add_dependency("httparty",[">= 0"])
|
17
|
+
s.add_dependency("json",[">= 0"])
|
18
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require "httparty"
|
2
|
+
require "json"
|
3
|
+
require "eventbrite_api/configuration"
|
4
|
+
require "eventbrite_api/response"
|
5
|
+
require "eventbrite_api/request"
|
6
|
+
|
7
|
+
class EventbriteAPI
|
8
|
+
|
9
|
+
def method_missing(method, *args)
|
10
|
+
params = args[0].is_a?(Hash) ? args[0] : {}
|
11
|
+
raise MissingIdException.new("#{method.capitalize} id can not be empty.") unless params[:id]
|
12
|
+
path = "/#{method}/#{params.delete(:id)}?token=#{Configuration.access_token}"
|
13
|
+
Request.new(path, params)
|
14
|
+
end
|
15
|
+
|
16
|
+
class APIException < ::Exception; end
|
17
|
+
class MissingIdException < APIException; end
|
18
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class EventbriteAPI
|
2
|
+
class Request
|
3
|
+
include HTTParty
|
4
|
+
base_uri Configuration.end_point
|
5
|
+
|
6
|
+
attr_accessor :path, :query
|
7
|
+
|
8
|
+
def initialize(path = "", query = {})
|
9
|
+
@path = path
|
10
|
+
@query = query
|
11
|
+
end
|
12
|
+
|
13
|
+
def get
|
14
|
+
response = self.class.get(path, query: query).body
|
15
|
+
Response.new(response)
|
16
|
+
end
|
17
|
+
|
18
|
+
def post
|
19
|
+
response = self.class.post(path, query: query).body
|
20
|
+
Response.new(response)
|
21
|
+
end
|
22
|
+
|
23
|
+
def method_missing(method, *args)
|
24
|
+
params = args[0].is_a?(Hash) ? args[0] : {}
|
25
|
+
route, token = path.split("?")
|
26
|
+
id = params.delete(:id)
|
27
|
+
route += "/#{method}/#{id}?#{token}"
|
28
|
+
Request.new(route, params)
|
29
|
+
end
|
30
|
+
|
31
|
+
# def call(path, params)
|
32
|
+
# JSON.parse(self.class.send(params.delete(:method), path, query: params).body)
|
33
|
+
# end
|
34
|
+
end
|
35
|
+
end
|
metadata
ADDED
@@ -0,0 +1,76 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: eventbrite_api
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Xin Fan (Fred)
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-04-04 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: httparty
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: json
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ! '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description:
|
42
|
+
email: fredxinfan@gmail.com
|
43
|
+
executables: []
|
44
|
+
extensions: []
|
45
|
+
extra_rdoc_files: []
|
46
|
+
files:
|
47
|
+
- ReadMe.md
|
48
|
+
- eventbrite_api.gemspec
|
49
|
+
- lib/eventbrite_api.rb
|
50
|
+
- lib/eventbrite_api/configuration.rb
|
51
|
+
- lib/eventbrite_api/request.rb
|
52
|
+
- lib/eventbrite_api/response.rb
|
53
|
+
homepage:
|
54
|
+
licenses: []
|
55
|
+
metadata: {}
|
56
|
+
post_install_message:
|
57
|
+
rdoc_options: []
|
58
|
+
require_paths:
|
59
|
+
- lib
|
60
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
61
|
+
requirements:
|
62
|
+
- - ! '>='
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '0'
|
65
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
requirements: []
|
71
|
+
rubyforge_project:
|
72
|
+
rubygems_version: 2.1.11
|
73
|
+
signing_key:
|
74
|
+
specification_version: 4
|
75
|
+
summary: A simple API wrapper for Eventbrite V3.
|
76
|
+
test_files: []
|