Module: EventbriteSDK
- Defined in:
- lib/eventbrite_sdk.rb,
lib/eventbrite_sdk/user.rb,
lib/eventbrite_sdk/event.rb,
lib/eventbrite_sdk/media.rb,
lib/eventbrite_sdk/order.rb,
lib/eventbrite_sdk/venue.rb,
lib/eventbrite_sdk/report.rb,
lib/eventbrite_sdk/version.rb,
lib/eventbrite_sdk/webhook.rb,
lib/eventbrite_sdk/attendee.rb,
lib/eventbrite_sdk/category.rb,
lib/eventbrite_sdk/discount.rb,
lib/eventbrite_sdk/resource.rb,
lib/eventbrite_sdk/organizer.rb,
lib/eventbrite_sdk/exceptions.rb,
lib/eventbrite_sdk/error_types.rb,
lib/eventbrite_sdk/subcategory.rb,
lib/eventbrite_sdk/organization.rb,
lib/eventbrite_sdk/ticket_class.rb,
lib/eventbrite_sdk/ticket_group.rb,
lib/eventbrite_sdk/resource_list.rb,
lib/eventbrite_sdk/resource/field.rb,
lib/eventbrite_sdk/blank_resource_list.rb,
lib/eventbrite_sdk/resource/attributes.rb,
lib/eventbrite_sdk/resource/operations/list.rb,
lib/eventbrite_sdk/resource/field_comparable.rb,
lib/eventbrite_sdk/resource/schema_definition.rb,
lib/eventbrite_sdk/resource/operations/endpoint.rb,
lib/eventbrite_sdk/lists/owned_event_orders_list.rb,
lib/eventbrite_sdk/resource/null_schema_definition.rb,
lib/eventbrite_sdk/resource/operations/relationships.rb,
lib/eventbrite_sdk/resource/operations/attribute_schema.rb
Defined Under Namespace
Modules: Lists
Classes: Attendee, BadRequest, BlankResourceList, Category, Discount, Event, EventbriteAPIError, Forbidden, InternalServerError, InvalidAttribute, Media, Order, OrgDiscount, OrgEvent, OrgVenue, Organization, Organizer, Report, Resource, ResourceList, ResourceNotFound, Subcategory, TicketClass, TicketGroup, Unauthorized, User, Venue, Webhook
Constant Summary
collapse
- BASE =
"https://www.eventbriteapi.com/v#{VERSION.split('.').first}".freeze
- EXCEPTION_MAP =
{
RestClient::ResourceNotFound => {
class: ResourceNotFound,
message: 'requested object was not found'
},
RestClient::BadRequest => {
class: BadRequest,
message: 'invalid request'
},
RestClient::Forbidden => {
class: Forbidden,
message: 'not authorized'
},
RestClient::InternalServerError => {
class: InternalServerError,
message: 'internal server error'
},
RestClient::Unauthorized => {
class: Unauthorized,
message: 'unauthorized request'
}
}.freeze
- THREAD_EB_API_TOKEN_KEY =
:eb_api_token
- VERIFY_SSL =
true
- VERSION =
Major should always line up with the major point release of the public API v3 => 3.x.x
'3.6.0'.freeze
- ERROR_ALREADY_DELETED =
The resource is already deleted
'ALREADY_DELETED'.freeze
- ERROR_BAD_PAGE =
Paginated query had an invalid page, usually out of range
'BAD_PAGE'.freeze
- ERROR_BAD_TOKEN =
Token was provided, but invalid
'INVALID_AUTH'.freeze
- ERROR_NOT_FOUND =
The requested endpoint or resource does not exist
'NOT_FOUND'.freeze
- ERROR_TOKEN_REQUIRED =
No token was provided for an endpoint that requires authentication
'NO_AUTH'.freeze
- ERROR_ARGUMENTS =
One of the provided arguments is invalid
'ARGUMENTS_ERROR'.freeze
- ERROR_NOT_PERMITTED_BY_PACKAGE =
The package associated to the account does not allow the requested action
'INSUFFICIENT_PACKAGE'.freeze
- ERROR_PACKAGE_NOT_SET =
No package is associated to the account
'NO_PACKAGE_SELECTED'.freeze
Class Method Summary
collapse
Class Method Details
.base_url ⇒ Object
75
76
77
|
# File 'lib/eventbrite_sdk.rb', line 75
def self.base_url
@base_url || BASE
end
|
.base_url=(url) ⇒ Object
79
80
81
|
# File 'lib/eventbrite_sdk.rb', line 79
def self.base_url=(url)
@base_url = url
end
|
.delete(params) ⇒ Object
115
116
117
118
119
120
|
# File 'lib/eventbrite_sdk.rb', line 115
def self.delete(params)
params[:headers] = { 'Accept' => 'application/json' }
params[:method] = :delete
request(params)
end
|
135
136
137
138
139
140
141
142
143
144
145
|
# File 'lib/eventbrite_sdk.rb', line 135
def self.format_request(params)
query = params.delete(:query)
request_token = params.delete(:api_token)
auth = request_token || token
params[:headers]['Authorization'] = "Bearer #{auth}" if auth
params[:headers][:params] = query if query
params
end
|
.get(params) ⇒ Object
95
96
97
98
99
100
|
# File 'lib/eventbrite_sdk.rb', line 95
def self.get(params)
params[:headers] = { 'Accept' => 'application/json' }
params[:method] = :get
request(params)
end
|
.post(params) ⇒ Object
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/eventbrite_sdk.rb', line 102
def self.post(params)
params[:headers] = { 'Content-Type' => 'application/json' }
params[:method] = :post
params[:payload] = params[:payload].to_json if params[:payload]
request(params)
end
|
.request(params) ⇒ Object
122
123
124
125
126
127
128
129
130
131
132
133
|
# File 'lib/eventbrite_sdk.rb', line 122
def self.request(params)
req = format_request(params)
req[:url] = url(params[:url].gsub(%r{\/$}, ''))
req[:verify_ssl] = verify_ssl?
response = RestClient::Request.execute(req)
JSON.parse(response.body) unless response.body == ''
rescue *EXCEPTION_MAP.keys => err
handler = EXCEPTION_MAP[err.class]
raise handler[:class].new(handler[:message], err.response)
end
|
.token=(api_token) ⇒ Object
71
72
73
|
# File 'lib/eventbrite_sdk.rb', line 71
def self.token=(api_token)
Thread.current[THREAD_EB_API_TOKEN_KEY] = api_token
end
|
.url(path) ⇒ Object
147
148
149
|
# File 'lib/eventbrite_sdk.rb', line 147
def self.url(path)
"#{base_url}/#{path}/"
end
|
.verify_ssl=(verifies) ⇒ Object
91
92
93
|
# File 'lib/eventbrite_sdk.rb', line 91
def self.verify_ssl=(verifies)
@verify_ssl = verifies
end
|
.verify_ssl? ⇒ Boolean
83
84
85
86
87
88
89
|
# File 'lib/eventbrite_sdk.rb', line 83
def self.verify_ssl?
if @verify_ssl.nil?
VERIFY_SSL
else
@verify_ssl
end
end
|