eventbrite_sdk 3.0.11 → 3.1.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.
- checksums.yaml +4 -4
- data/README.md +32 -0
- data/eventbrite_sdk.gemspec +1 -1
- data/lib/eventbrite_sdk.rb +16 -7
- data/lib/eventbrite_sdk/resource.rb +7 -7
- data/lib/eventbrite_sdk/resource_list.rb +13 -12
- data/lib/eventbrite_sdk/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 24dafdd9ed7c31ea905658d02a2ed3f321321cbe
|
4
|
+
data.tar.gz: 0f2db9653b17aca5752d6de9bd0b8538f4ba5c10
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcbc3ada8483c3ad3b72680cb85ba9094e48a3cdd7608cccbfd33b7cf814def52e5d9a12a972690fbaae16b1bf2dd721d5eb2799eb5561c613383809a57fe81c
|
7
|
+
data.tar.gz: 9db0559d83eae4cc1dd1ee7e34b19bd7081569726130bd695f8e51429b86b259ff14712f952a98f7b3ea4d9e2495ae1d4ec47c6cd6d67e85f75419da98c075e3
|
data/README.md
CHANGED
@@ -118,6 +118,38 @@ order = EventbriteSDK::Order.retrieve(id: id, expand: [:attendees, :event])
|
|
118
118
|
|
119
119
|
```
|
120
120
|
|
121
|
+
# Per-request Configuration
|
122
|
+
|
123
|
+
For apps that need to use multiple tokens during the lifetime of a process, it is
|
124
|
+
possible to set a per-request token:
|
125
|
+
|
126
|
+
``` ruby
|
127
|
+
|
128
|
+
# Retrieving
|
129
|
+
|
130
|
+
EventbriteSDK::Order.retrieve(
|
131
|
+
id: id,
|
132
|
+
api_token: YOUR_REQUEST_TOKEN
|
133
|
+
)
|
134
|
+
|
135
|
+
# Retrieving lists
|
136
|
+
|
137
|
+
events = EventbriteSDK::User.me.owned_events.page(1, api_token: YOUR_REQUEST_TOKEN)
|
138
|
+
|
139
|
+
events.next_page(api_token: YOUR_REQUEST_TOKEN)
|
140
|
+
|
141
|
+
# Saving/Deleting
|
142
|
+
|
143
|
+
event.save(api_token: YOUR_REQUEST_TOKEN)
|
144
|
+
|
145
|
+
order.delete(api_token: YOUR_REQUEST_TOKEN)
|
146
|
+
|
147
|
+
```
|
148
|
+
|
149
|
+
If you forget to provide the api_token key and `EventbriteSDK.token` is set, the request
|
150
|
+
will fall-back on the global token for the action called.
|
151
|
+
|
152
|
+
|
121
153
|
## Development
|
122
154
|
|
123
155
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/eventbrite_sdk.gemspec
CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
20
|
spec.require_paths = ['lib']
|
21
21
|
|
22
|
-
spec.add_dependency 'rest-client'
|
22
|
+
spec.add_dependency 'rest-client', '~> 2.0'
|
23
23
|
spec.add_development_dependency 'bundler', '~> 1.12'
|
24
24
|
spec.add_development_dependency 'rake', '~> 10.0'
|
25
25
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
data/lib/eventbrite_sdk.rb
CHANGED
@@ -116,14 +116,11 @@ module EventbriteSDK
|
|
116
116
|
end
|
117
117
|
|
118
118
|
def self.request(params)
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
params[:headers]['Authorization'] = "Bearer #{token}" if token
|
123
|
-
params[:headers][:params] = query if query
|
124
|
-
params[:verify_ssl] = verify_ssl?
|
119
|
+
req = format_request(params)
|
120
|
+
req[:url] = url(params[:url].gsub(%r{\/$}, ''))
|
121
|
+
req[:verify_ssl] = verify_ssl?
|
125
122
|
|
126
|
-
response = RestClient::Request.execute(
|
123
|
+
response = RestClient::Request.execute(req)
|
127
124
|
|
128
125
|
JSON.parse(response.body) unless response.body == ''
|
129
126
|
rescue *EXCEPTION_MAP.keys => err
|
@@ -131,6 +128,18 @@ module EventbriteSDK
|
|
131
128
|
raise handler[:class].new(handler[:message], err.response)
|
132
129
|
end
|
133
130
|
|
131
|
+
def self.format_request(params)
|
132
|
+
query = params.delete(:query)
|
133
|
+
request_token = params.delete(:api_token)
|
134
|
+
|
135
|
+
auth = request_token || token
|
136
|
+
|
137
|
+
params[:headers]['Authorization'] = "Bearer #{auth}" if auth
|
138
|
+
params[:headers][:params] = query if query
|
139
|
+
|
140
|
+
params
|
141
|
+
end
|
142
|
+
|
134
143
|
def self.url(path)
|
135
144
|
"#{base_url}/#{path}/"
|
136
145
|
end
|
@@ -50,9 +50,9 @@ module EventbriteSDK
|
|
50
50
|
!id
|
51
51
|
end
|
52
52
|
|
53
|
-
def refresh!(request
|
53
|
+
def refresh!(request: EventbriteSDK, api_token: nil)
|
54
54
|
unless new?
|
55
|
-
reload request.get(url: path)
|
55
|
+
reload request.get(url: path, api_token: api_token)
|
56
56
|
else
|
57
57
|
false
|
58
58
|
end
|
@@ -62,10 +62,11 @@ module EventbriteSDK
|
|
62
62
|
"#<#{self.class}: #{JSON.pretty_generate(@attrs.to_h)}>"
|
63
63
|
end
|
64
64
|
|
65
|
-
def save(postfixed_path = '', request
|
65
|
+
def save(postfixed_path = '', api_token: nil, request: EventbriteSDK)
|
66
66
|
if changed? || !postfixed_path.empty?
|
67
67
|
response = request.post(url: path(postfixed_path),
|
68
|
-
payload: attrs.payload(self.class.prefix)
|
68
|
+
payload: attrs.payload(self.class.prefix),
|
69
|
+
api_token: api_token)
|
69
70
|
|
70
71
|
reload(response)
|
71
72
|
|
@@ -77,9 +78,8 @@ module EventbriteSDK
|
|
77
78
|
attrs.to_json(opts)
|
78
79
|
end
|
79
80
|
|
80
|
-
def delete(request
|
81
|
-
|
82
|
-
response['deleted']
|
81
|
+
def delete(request: EventbriteSDK, api_token: nil)
|
82
|
+
request.delete(url: path, api_token: api_token)['deleted']
|
83
83
|
end
|
84
84
|
|
85
85
|
def read_attribute_for_serialization(attribute)
|
@@ -24,29 +24,29 @@ module EventbriteSDK
|
|
24
24
|
other.concat(to_ary)
|
25
25
|
end
|
26
26
|
|
27
|
-
def retrieve(query: {})
|
27
|
+
def retrieve(query: {}, api_token: nil)
|
28
28
|
@query.merge!(query)
|
29
|
-
load_response
|
29
|
+
load_response(api_token)
|
30
30
|
|
31
31
|
self
|
32
32
|
end
|
33
33
|
|
34
|
-
def page(num)
|
34
|
+
def page(num, api_token: nil)
|
35
35
|
pagination['page_number'] = num
|
36
36
|
|
37
|
-
retrieve
|
37
|
+
retrieve(api_token: api_token)
|
38
38
|
end
|
39
39
|
|
40
|
-
def next_page
|
41
|
-
|
40
|
+
def next_page(api_token: nil)
|
41
|
+
return if page_number >= (page_count || 1)
|
42
42
|
|
43
|
-
|
43
|
+
page(pagination['page_number'] + 1, api_token: api_token)
|
44
44
|
end
|
45
45
|
|
46
|
-
def prev_page
|
47
|
-
|
46
|
+
def prev_page(api_token: nil)
|
47
|
+
return if page_number <= 1
|
48
48
|
|
49
|
-
|
49
|
+
page(pagination['page_number'] - 1, api_token: api_token)
|
50
50
|
end
|
51
51
|
|
52
52
|
%w(object_count page_number page_size page_count).each do |method|
|
@@ -77,10 +77,11 @@ module EventbriteSDK
|
|
77
77
|
@pagination ||= { 'page_count' => 1, 'page_number' => 1 }
|
78
78
|
end
|
79
79
|
|
80
|
-
def load_response
|
80
|
+
def load_response(api_token)
|
81
81
|
response = request.get(
|
82
82
|
url: url_base,
|
83
|
-
query: query.merge(page: page_number)
|
83
|
+
query: query.merge(page: page_number),
|
84
|
+
api_token: api_token
|
84
85
|
)
|
85
86
|
|
86
87
|
@objects = (response[key.to_s] || []).map { |raw| object_class.new(raw) }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eventbrite_sdk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vinnie Franco
|
@@ -10,22 +10,22 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-08-
|
13
|
+
date: 2017-08-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rest-client
|
17
17
|
requirement: !ruby/object:Gem::Requirement
|
18
18
|
requirements:
|
19
|
-
- - "
|
19
|
+
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: '0'
|
21
|
+
version: '2.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
|
-
- - "
|
26
|
+
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: '0'
|
28
|
+
version: '2.0'
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: bundler
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|