seatsio 51.15.0 → 52.0.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/Gemfile.lock +10 -10
- data/lib/seatsio/domain.rb +28 -1
- data/lib/seatsio/events.rb +78 -41
- data/lib/seatsio/seasons.rb +21 -18
- data/lib/seatsio/version.rb +1 -1
- data/seatsio.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d0e12bbcf4acc3e39862e05602a569497067a8749501d4453387d0d31d0cb8b
|
|
4
|
+
data.tar.gz: bcaaabc425d672dc7858312e39c8d1ed735098c21839b6616a48c8c964f67424
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a9bbda7cc5fa1a0e169d3bed7167b96f1de7f14c870ad4279af378edd976c5bf3d1f090cda7d3de549b1f098cc638dbd683cd8400180e975aa71e198c98ee2f9
|
|
7
|
+
data.tar.gz: 4f2da84d18d0763433f1cf784895d819a7d20587dfa9483fd5fa7baa37b47273a1f865dcad79b9a9e1e63b570faceeaf25dee2a6c0effcf185f5c0f9777eb824
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
seatsio (
|
|
4
|
+
seatsio (52.0.0)
|
|
5
5
|
base64 (>= 0.2, < 0.4)
|
|
6
6
|
rest-client (~> 2.0, >= 2.0.2)
|
|
7
7
|
|
|
@@ -11,12 +11,12 @@ GEM
|
|
|
11
11
|
addressable (2.8.7)
|
|
12
12
|
public_suffix (>= 2.0.2, < 7.0)
|
|
13
13
|
base64 (0.3.0)
|
|
14
|
-
bigdecimal (3.1
|
|
15
|
-
crack (1.0.
|
|
14
|
+
bigdecimal (3.3.1)
|
|
15
|
+
crack (1.0.1)
|
|
16
16
|
bigdecimal
|
|
17
17
|
rexml
|
|
18
18
|
domain_name (0.6.20240107)
|
|
19
|
-
hashdiff (1.1
|
|
19
|
+
hashdiff (1.2.1)
|
|
20
20
|
http-accept (1.7.0)
|
|
21
21
|
http-cookie (1.0.8)
|
|
22
22
|
domain_name (~> 0.5)
|
|
@@ -25,20 +25,20 @@ GEM
|
|
|
25
25
|
logger
|
|
26
26
|
mime-types-data (~> 3.2015)
|
|
27
27
|
mime-types-data (3.2025.0402)
|
|
28
|
-
minitest (5.
|
|
28
|
+
minitest (5.26.0)
|
|
29
29
|
netrc (0.11.0)
|
|
30
30
|
parallel (1.27.0)
|
|
31
|
-
parallel_tests (5.
|
|
31
|
+
parallel_tests (5.5.0)
|
|
32
32
|
parallel
|
|
33
33
|
public_suffix (6.0.2)
|
|
34
|
-
rake (13.3.
|
|
34
|
+
rake (13.3.1)
|
|
35
35
|
rest-client (2.1.0)
|
|
36
36
|
http-accept (>= 1.7.0, < 2.0)
|
|
37
37
|
http-cookie (>= 1.0.2, < 2.0)
|
|
38
38
|
mime-types (>= 1.16, < 4.0)
|
|
39
39
|
netrc (~> 0.8)
|
|
40
|
-
rexml (3.4.
|
|
41
|
-
webmock (3.
|
|
40
|
+
rexml (3.4.4)
|
|
41
|
+
webmock (3.26.1)
|
|
42
42
|
addressable (>= 2.8.0)
|
|
43
43
|
crack (>= 0.3.2)
|
|
44
44
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
@@ -49,7 +49,7 @@ PLATFORMS
|
|
|
49
49
|
DEPENDENCIES
|
|
50
50
|
bundler (~> 2.2)
|
|
51
51
|
minitest (~> 5.0)
|
|
52
|
-
parallel_tests (~> 5.
|
|
52
|
+
parallel_tests (~> 5.5.0)
|
|
53
53
|
rake (~> 13.0)
|
|
54
54
|
seatsio!
|
|
55
55
|
webmock (~> 3.4, >= 3.4.2)
|
data/lib/seatsio/domain.rb
CHANGED
|
@@ -101,6 +101,32 @@ module Seatsio
|
|
|
101
101
|
end
|
|
102
102
|
end
|
|
103
103
|
|
|
104
|
+
class EditForSaleConfigResult
|
|
105
|
+
attr_reader :for_sale_config, :rate_limit_info
|
|
106
|
+
|
|
107
|
+
def initialize(for_sale_config, rate_limit_info)
|
|
108
|
+
@for_sale_config = for_sale_config
|
|
109
|
+
@rate_limit_info = rate_limit_info
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
def self.from_json(data)
|
|
113
|
+
EditForSaleConfigResult.new(ForSaleConfig.from_json(data['forSaleConfig']), ForSaleRateLimitInfo.from_json(data['rateLimitInfo']))
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
class ForSaleRateLimitInfo
|
|
118
|
+
attr_reader :rate_limit_remaining_calls, :rate_limit_reset_date
|
|
119
|
+
|
|
120
|
+
def initialize(rate_limit_remaining_calls, rate_limit_reset_date)
|
|
121
|
+
@rate_limit_remaining_calls = rate_limit_remaining_calls
|
|
122
|
+
@rate_limit_reset_date = rate_limit_reset_date
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
def self.from_json(data)
|
|
126
|
+
ForSaleRateLimitInfo.new(data['rateLimitRemainingCalls'], parse_date(data['rateLimitResetDate']))
|
|
127
|
+
end
|
|
128
|
+
end
|
|
129
|
+
|
|
104
130
|
class Category
|
|
105
131
|
|
|
106
132
|
attr_reader :key, :label, :color, :accessible
|
|
@@ -246,12 +272,13 @@ module Seatsio
|
|
|
246
272
|
|
|
247
273
|
class Season < Event
|
|
248
274
|
|
|
249
|
-
attr_accessor :partial_season_keys, :events
|
|
275
|
+
attr_accessor :partial_season_keys, :events, :for_sale_propagated
|
|
250
276
|
|
|
251
277
|
def initialize(data)
|
|
252
278
|
super(data)
|
|
253
279
|
@partial_season_keys = data['partialSeasonKeys']
|
|
254
280
|
@events = data['events'] ? Event.create_list(data['events']) : nil
|
|
281
|
+
@for_sale_propagated = data['forSalePropagated']
|
|
255
282
|
end
|
|
256
283
|
|
|
257
284
|
def is_season
|
data/lib/seatsio/events.rb
CHANGED
|
@@ -150,18 +150,41 @@ module Seatsio
|
|
|
150
150
|
Pagination::Cursor.new(StatusChange, "events/#{key}/objects/#{object_id}/status-changes", @http_client)
|
|
151
151
|
end
|
|
152
152
|
|
|
153
|
-
def
|
|
153
|
+
def edit_for_sale_config(key:, for_sale: nil, not_for_sale: nil)
|
|
154
|
+
request = {}
|
|
155
|
+
request[:forSale] = for_sale if for_sale
|
|
156
|
+
request[:notForSale] = not_for_sale if not_for_sale
|
|
157
|
+
response = @http_client.post("events/#{key}/actions/edit-for-sale-config", request)
|
|
158
|
+
EditForSaleConfigResult.from_json(response)
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
def edit_for_sale_config_for_events(events)
|
|
162
|
+
request = build_parameters_for_edit_for_sale_config_for_events(events)
|
|
163
|
+
response = @http_client.post("events/actions/edit-for-sale-config", request)
|
|
164
|
+
response.each do |key, value|
|
|
165
|
+
response[key] = EditForSaleConfigResult.from_json(value)
|
|
166
|
+
end
|
|
167
|
+
response
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
def replace_for_sale_config(key:, for_sale:, objects: nil, area_places: nil, categories: nil)
|
|
171
|
+
action = for_sale ? "mark-as-for-sale" : "mark-as-not-for-sale"
|
|
154
172
|
request = build_parameters_for_mark_as_sale objects, area_places, categories
|
|
155
|
-
@http_client.post("events/#{key}/actions
|
|
173
|
+
@http_client.post("events/#{key}/actions/#{action}", request)
|
|
156
174
|
end
|
|
157
175
|
|
|
158
|
-
|
|
159
|
-
|
|
176
|
+
# @deprecated Use {#replace_for_sale_config} instead
|
|
177
|
+
def mark_as_not_for_sale(key:, objects: nil, area_places: nil, categories: nil)
|
|
178
|
+
replace_for_sale_config(key: key, for_sale: false, objects: objects, area_places: area_places, categories: categories)
|
|
160
179
|
end
|
|
161
180
|
|
|
181
|
+
# @deprecated Use {#replace_for_sale_config} instead
|
|
162
182
|
def mark_as_for_sale(key:, objects: nil, area_places: nil, categories: nil)
|
|
163
|
-
|
|
164
|
-
|
|
183
|
+
replace_for_sale_config(key: key, for_sale: true, objects: objects, area_places: area_places, categories: categories)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
def mark_everything_as_for_sale(key: nil)
|
|
187
|
+
@http_client.post("events/#{key}/actions/mark-everything-as-for-sale")
|
|
165
188
|
end
|
|
166
189
|
|
|
167
190
|
def move_to_new_chart_copy(event_key)
|
|
@@ -169,6 +192,35 @@ module Seatsio
|
|
|
169
192
|
Event.from_json(response)
|
|
170
193
|
end
|
|
171
194
|
|
|
195
|
+
def self.table_booking_config_to_request(table_booking_config)
|
|
196
|
+
result = {}
|
|
197
|
+
result["mode"] = table_booking_config.mode
|
|
198
|
+
result["tables"] = table_booking_config.tables if table_booking_config.tables != nil
|
|
199
|
+
result
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
def self.categories_to_request(categories)
|
|
203
|
+
result = []
|
|
204
|
+
categories.each do |category|
|
|
205
|
+
r = {}
|
|
206
|
+
r["key"] = category.key if category.key != nil
|
|
207
|
+
r["label"] = category.label if category.label != nil
|
|
208
|
+
r["color"] = category.color if category.color != nil
|
|
209
|
+
r["accessible"] = category.accessible if category.accessible != nil
|
|
210
|
+
result.push(r)
|
|
211
|
+
end
|
|
212
|
+
result
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
def self.for_sale_config_to_request(for_sale_config)
|
|
216
|
+
result = {}
|
|
217
|
+
result["forSale"] = for_sale_config.for_sale
|
|
218
|
+
result["objects"] = for_sale_config.objects if for_sale_config.objects != nil
|
|
219
|
+
result["areaPlaces"] = for_sale_config.area_places if for_sale_config.area_places != nil
|
|
220
|
+
result["categories"] = for_sale_config.categories if for_sale_config.categories != nil
|
|
221
|
+
result
|
|
222
|
+
end
|
|
223
|
+
|
|
172
224
|
private
|
|
173
225
|
|
|
174
226
|
def build_parameters_for_mark_as_sale(objects, area_places, categories)
|
|
@@ -179,6 +231,20 @@ module Seatsio
|
|
|
179
231
|
request
|
|
180
232
|
end
|
|
181
233
|
|
|
234
|
+
def build_parameters_for_edit_for_sale_config_for_events(events)
|
|
235
|
+
request = {}
|
|
236
|
+
request[:events] = {}
|
|
237
|
+
|
|
238
|
+
events.each do |event|
|
|
239
|
+
event_request = {}
|
|
240
|
+
event_request[:forSale] = event[1][:for_sale] if event[1][:for_sale]
|
|
241
|
+
event_request[:notForSale] = event[1][:not_for_sale] if event[1][:not_for_sale]
|
|
242
|
+
request[:events][event[0]] = event_request
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
request
|
|
246
|
+
end
|
|
247
|
+
|
|
182
248
|
def build_extra_data_request(extra_data)
|
|
183
249
|
payload = {}
|
|
184
250
|
payload[:extraData] = extra_data if extra_data
|
|
@@ -191,12 +257,12 @@ module Seatsio
|
|
|
191
257
|
result["eventKey"] = event_key if event_key
|
|
192
258
|
result["name"] = name if name
|
|
193
259
|
result["date"] = date.iso8601 if date
|
|
194
|
-
result["tableBookingConfig"] = table_booking_config_to_request(table_booking_config) if table_booking_config != nil
|
|
260
|
+
result["tableBookingConfig"] = EventsClient::table_booking_config_to_request(table_booking_config) if table_booking_config != nil
|
|
195
261
|
result["objectCategories"] = object_categories if object_categories != nil
|
|
196
|
-
result["categories"] = categories_to_request(categories) if categories != nil
|
|
262
|
+
result["categories"] = EventsClient::categories_to_request(categories) if categories != nil
|
|
197
263
|
result["channels"] = ChannelsClient::channels_to_request(channels) if channels != nil
|
|
198
264
|
result["isInThePast"] = is_in_the_past if is_in_the_past != nil
|
|
199
|
-
result["forSaleConfig"] = for_sale_config_to_request(for_sale_config) if for_sale_config != nil
|
|
265
|
+
result["forSaleConfig"] = EventsClient::for_sale_config_to_request(for_sale_config) if for_sale_config != nil
|
|
200
266
|
result
|
|
201
267
|
end
|
|
202
268
|
|
|
@@ -214,44 +280,15 @@ module Seatsio
|
|
|
214
280
|
r["eventKey"] = param[:event_key] if param[:event_key] != nil
|
|
215
281
|
r["name"] = param[:name] if param[:name]
|
|
216
282
|
r["date"] = param[:date].iso8601 if param[:date]
|
|
217
|
-
r["tableBookingConfig"] = table_booking_config_to_request(param[:table_booking_config]) if param[:table_booking_config] != nil
|
|
283
|
+
r["tableBookingConfig"] = EventsClient::table_booking_config_to_request(param[:table_booking_config]) if param[:table_booking_config] != nil
|
|
218
284
|
r["objectCategories"] = param[:object_categories] if param[:object_categories] != nil
|
|
219
|
-
r["categories"] = categories_to_request(param[:categories]) if param[:categories] != nil
|
|
285
|
+
r["categories"] = EventsClient::categories_to_request(param[:categories]) if param[:categories] != nil
|
|
220
286
|
r["channels"] = ChannelsClient::channels_to_request(param[:channels]) if param[:channels] != nil
|
|
221
|
-
r["forSaleConfig"] = for_sale_config_to_request(param[:for_sale_config]) if param[:for_sale_config] != nil
|
|
222
|
-
result.push(r)
|
|
223
|
-
end
|
|
224
|
-
result
|
|
225
|
-
end
|
|
226
|
-
|
|
227
|
-
def table_booking_config_to_request(table_booking_config)
|
|
228
|
-
result = {}
|
|
229
|
-
result["mode"] = table_booking_config.mode
|
|
230
|
-
result["tables"] = table_booking_config.tables if table_booking_config.tables != nil
|
|
231
|
-
result
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
def categories_to_request(categories)
|
|
235
|
-
result = []
|
|
236
|
-
categories.each do |category|
|
|
237
|
-
r = {}
|
|
238
|
-
r["key"] = category.key if category.key != nil
|
|
239
|
-
r["label"] = category.label if category.label != nil
|
|
240
|
-
r["color"] = category.color if category.color != nil
|
|
241
|
-
r["accessible"] = category.accessible if category.accessible != nil
|
|
287
|
+
r["forSaleConfig"] = EventsClient::for_sale_config_to_request(param[:for_sale_config]) if param[:for_sale_config] != nil
|
|
242
288
|
result.push(r)
|
|
243
289
|
end
|
|
244
290
|
result
|
|
245
291
|
end
|
|
246
292
|
|
|
247
|
-
def for_sale_config_to_request(for_sale_config)
|
|
248
|
-
result = {}
|
|
249
|
-
result["forSale"] = for_sale_config.for_sale
|
|
250
|
-
result["objects"] = for_sale_config.objects if for_sale_config.objects != nil
|
|
251
|
-
result["areaPlaces"] = for_sale_config.area_places if for_sale_config.area_places != nil
|
|
252
|
-
result["categories"] = for_sale_config.categories if for_sale_config.categories != nil
|
|
253
|
-
result
|
|
254
|
-
end
|
|
255
|
-
|
|
256
293
|
end
|
|
257
294
|
end
|
data/lib/seatsio/seasons.rb
CHANGED
|
@@ -14,12 +14,18 @@ module Seatsio
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def create(chart_key:, key: nil, name: nil, number_of_events: nil, event_keys: nil,
|
|
17
|
-
table_booking_config: nil,
|
|
18
|
-
|
|
17
|
+
table_booking_config: nil, object_categories: nil, categories: nil, channels: nil,
|
|
18
|
+
for_sale_config: nil, for_sale_propagated: nil)
|
|
19
|
+
request = build_create_season_request(chart_key, key, name, number_of_events, event_keys, table_booking_config, object_categories, categories, channels, for_sale_config, for_sale_propagated)
|
|
19
20
|
response = @http_client.post('seasons', request)
|
|
20
21
|
Season.new(response)
|
|
21
22
|
end
|
|
22
23
|
|
|
24
|
+
def update(key:, event_key: nil, name: nil, table_booking_config: nil, object_categories: nil, categories: nil, for_sale_propagated: nil)
|
|
25
|
+
payload = build_update_season_request(event_key, name, table_booking_config, object_categories, categories, for_sale_propagated)
|
|
26
|
+
@http_client.post("events/#{key}", payload)
|
|
27
|
+
end
|
|
28
|
+
|
|
23
29
|
def create_partial_season(top_level_season_key:, partial_season_key: nil, name: nil, event_keys: nil)
|
|
24
30
|
request = {}
|
|
25
31
|
request['key'] = partial_season_key if partial_season_key
|
|
@@ -55,34 +61,31 @@ module Seatsio
|
|
|
55
61
|
|
|
56
62
|
private
|
|
57
63
|
|
|
58
|
-
def build_create_season_request(chart_key, key, name, number_of_events, event_keys, table_booking_config, channels, for_sale_config)
|
|
64
|
+
def build_create_season_request(chart_key, key, name, number_of_events, event_keys, table_booking_config, object_categories, categories, channels, for_sale_config, for_sale_propagated)
|
|
59
65
|
request = {}
|
|
60
66
|
request['chartKey'] = chart_key if chart_key
|
|
61
67
|
request['key'] = key if key
|
|
62
68
|
request['name'] = name if name
|
|
63
69
|
request['numberOfEvents'] = number_of_events if number_of_events
|
|
64
70
|
request['eventKeys'] = event_keys if event_keys
|
|
65
|
-
request['tableBookingConfig'] = table_booking_config_to_request(table_booking_config) if table_booking_config != nil
|
|
71
|
+
request['tableBookingConfig'] = EventsClient::table_booking_config_to_request(table_booking_config) if table_booking_config != nil
|
|
72
|
+
request["objectCategories"] = object_categories if object_categories != nil
|
|
73
|
+
request["categories"] = EventsClient::categories_to_request(categories) if categories != nil
|
|
66
74
|
request['channels'] = ChannelsClient::channels_to_request(channels) if channels != nil
|
|
67
|
-
request['forSaleConfig'] = for_sale_config_to_request(for_sale_config) if for_sale_config != nil
|
|
75
|
+
request['forSaleConfig'] = EventsClient::for_sale_config_to_request(for_sale_config) if for_sale_config != nil
|
|
76
|
+
request['forSalePropagated'] = for_sale_propagated if for_sale_propagated != nil
|
|
68
77
|
request
|
|
69
78
|
end
|
|
70
79
|
|
|
71
|
-
def
|
|
80
|
+
def build_update_season_request(key, name, table_booking_config, object_categories, categories, for_sale_propagated)
|
|
72
81
|
request = {}
|
|
73
|
-
request['
|
|
74
|
-
request['
|
|
82
|
+
request['eventKey'] = key if key
|
|
83
|
+
request['name'] = name if name
|
|
84
|
+
request['tableBookingConfig'] = EventsClient::table_booking_config_to_request(table_booking_config) if table_booking_config != nil
|
|
85
|
+
request["objectCategories"] = object_categories if object_categories != nil
|
|
86
|
+
request["categories"] = EventsClient::categories_to_request(categories) if categories != nil
|
|
87
|
+
request['forSalePropagated'] = for_sale_propagated if for_sale_propagated != nil
|
|
75
88
|
request
|
|
76
89
|
end
|
|
77
|
-
|
|
78
|
-
def for_sale_config_to_request(for_sale_config)
|
|
79
|
-
result = {}
|
|
80
|
-
result["forSale"] = for_sale_config.for_sale
|
|
81
|
-
result["objects"] = for_sale_config.objects if for_sale_config.objects != nil
|
|
82
|
-
result["areaPlaces"] = for_sale_config.area_places if for_sale_config.area_places != nil
|
|
83
|
-
result["categories"] = for_sale_config.categories if for_sale_config.categories != nil
|
|
84
|
-
result
|
|
85
|
-
end
|
|
86
|
-
|
|
87
90
|
end
|
|
88
91
|
end
|
data/lib/seatsio/version.rb
CHANGED
data/seatsio.gemspec
CHANGED
|
@@ -27,5 +27,5 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
28
28
|
spec.add_development_dependency "minitest", "~> 5.0"
|
|
29
29
|
spec.add_development_dependency 'webmock', '~> 3.4', '>= 3.4.2'
|
|
30
|
-
spec.add_development_dependency 'parallel_tests', '~> 5.
|
|
30
|
+
spec.add_development_dependency 'parallel_tests', '~> 5.5.0'
|
|
31
31
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: seatsio
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 52.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Seats.io
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2025-10
|
|
11
|
+
date: 2025-11-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rest-client
|
|
@@ -118,14 +118,14 @@ dependencies:
|
|
|
118
118
|
requirements:
|
|
119
119
|
- - "~>"
|
|
120
120
|
- !ruby/object:Gem::Version
|
|
121
|
-
version: 5.
|
|
121
|
+
version: 5.5.0
|
|
122
122
|
type: :development
|
|
123
123
|
prerelease: false
|
|
124
124
|
version_requirements: !ruby/object:Gem::Requirement
|
|
125
125
|
requirements:
|
|
126
126
|
- - "~>"
|
|
127
127
|
- !ruby/object:Gem::Version
|
|
128
|
-
version: 5.
|
|
128
|
+
version: 5.5.0
|
|
129
129
|
description: This is the official Ruby client library for the Seats.io V2 REST API
|
|
130
130
|
email:
|
|
131
131
|
- nahuel@seats.io
|