seatsio 32.6.0 → 33.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 +1 -1
- data/lib/seatsio/domain.rb +12 -26
- data/lib/seatsio/events.rb +18 -9
- data/lib/seatsio/httpClient.rb +9 -2
- data/lib/seatsio/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eb9b9ede155afb77e4c55fac2ac7a9da697e5cf7f4f80e9a772002879718166d
|
4
|
+
data.tar.gz: ed80c3e21eca4567f4e613bfe1ed7e4dba90e62f4605dc2b4b47d1aface142aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4e792dcbdc73e9967de1c377b3a092dc4ba0f00615e8b57724580aa3cd93e29dcad82086f1ec1e9cd6ffc494ed6be4b85addcc01f422c4dd5462e286df836db
|
7
|
+
data.tar.gz: 31648860929a47b3b368504c32d573dda0f3bfa2b6f679d645c8c7577a0764aedf27660061f81800c2852769386e238b2644b892fc728bb2e55785631738fa13
|
data/Gemfile.lock
CHANGED
data/lib/seatsio/domain.rb
CHANGED
@@ -201,25 +201,6 @@ module Seatsio
|
|
201
201
|
end
|
202
202
|
end
|
203
203
|
|
204
|
-
class ObjectStatus
|
205
|
-
FREE = 'free'
|
206
|
-
BOOKED = 'booked'
|
207
|
-
HELD = 'reservedByToken'
|
208
|
-
|
209
|
-
attr_reader :status, :hold_token, :order_id, :ticket_type,
|
210
|
-
:quantity, :extra_data, :for_sale
|
211
|
-
|
212
|
-
def initialize(data)
|
213
|
-
@status = data['status']
|
214
|
-
@hold_token = data['holdToken']
|
215
|
-
@order_id = data['orderId']
|
216
|
-
@ticket_type = data['ticketType']
|
217
|
-
@quantity = data['quantity']
|
218
|
-
@extra_data = data['extraData']
|
219
|
-
@for_sale = data['forSale']
|
220
|
-
end
|
221
|
-
end
|
222
|
-
|
223
204
|
class ChangeObjectStatusResult
|
224
205
|
|
225
206
|
attr_reader :objects
|
@@ -261,7 +242,7 @@ module Seatsio
|
|
261
242
|
end
|
262
243
|
end
|
263
244
|
|
264
|
-
class
|
245
|
+
class ChartObjectInfo
|
265
246
|
|
266
247
|
attr_reader :label, :labels, :ids, :category_key, :category_label, :section, :entrance, :capacity, :object_type,
|
267
248
|
:left_neighbour, :right_neighbour, :book_as_a_whole, :distance_to_focal_point
|
@@ -292,7 +273,7 @@ module Seatsio
|
|
292
273
|
data.each do |key, values|
|
293
274
|
items[key] = []
|
294
275
|
values.each do |value|
|
295
|
-
items[key] <<
|
276
|
+
items[key] << ChartObjectInfo.new(value)
|
296
277
|
end
|
297
278
|
end
|
298
279
|
@items = items
|
@@ -307,7 +288,7 @@ module Seatsio
|
|
307
288
|
if data.is_a? Array
|
308
289
|
items = []
|
309
290
|
data.each do |item|
|
310
|
-
items <<
|
291
|
+
items << EventObjectInfo.new(item)
|
311
292
|
end
|
312
293
|
@items = items
|
313
294
|
elsif data.nil?
|
@@ -317,7 +298,7 @@ module Seatsio
|
|
317
298
|
data.each do |key, values|
|
318
299
|
items[key] = []
|
319
300
|
values.each do |value|
|
320
|
-
items[key] <<
|
301
|
+
items[key] << EventObjectInfo.new(value)
|
321
302
|
end
|
322
303
|
end
|
323
304
|
@items = items
|
@@ -325,13 +306,17 @@ module Seatsio
|
|
325
306
|
end
|
326
307
|
end
|
327
308
|
|
328
|
-
class
|
309
|
+
class EventObjectInfo
|
310
|
+
FREE = 'free'
|
311
|
+
BOOKED = 'booked'
|
312
|
+
HELD = 'reservedByToken'
|
313
|
+
|
329
314
|
attr_reader :labels, :ids, :label, :order_id, :extra_data, :capacity, :status,
|
330
315
|
:category_key, :entrance, :object_type, :hold_token, :category_label,
|
331
316
|
:ticket_type, :num_booked, :num_free, :num_held, :for_sale, :section,
|
332
317
|
:is_accessible, :is_companion_seat, :has_restricted_view, :displayed_object_type,
|
333
318
|
:left_neighbour, :right_neighbour, :is_selectable, :is_disabled_by_social_distancing, :channel,
|
334
|
-
:book_as_a_whole, :distance_to_focal_point
|
319
|
+
:book_as_a_whole, :distance_to_focal_point, :holds
|
335
320
|
|
336
321
|
def initialize(data)
|
337
322
|
@status = data['status']
|
@@ -363,6 +348,7 @@ module Seatsio
|
|
363
348
|
@channel = data['channel']
|
364
349
|
@book_as_a_whole = data['bookAsAWhole']
|
365
350
|
@distance_to_focal_point = data['distanceToFocalPoint']
|
351
|
+
@holds = data['holds']
|
366
352
|
end
|
367
353
|
end
|
368
354
|
|
@@ -506,7 +492,7 @@ module Seatsio
|
|
506
492
|
def to_object_details(data)
|
507
493
|
object_details = {}
|
508
494
|
data.each do |key, value|
|
509
|
-
object_details[key] =
|
495
|
+
object_details[key] = EventObjectInfo.new(value)
|
510
496
|
end
|
511
497
|
object_details
|
512
498
|
end
|
data/lib/seatsio/events.rb
CHANGED
@@ -43,14 +43,23 @@ module Seatsio
|
|
43
43
|
@http_client.post("events/#{key}/actions/update-extra-data", payload)
|
44
44
|
end
|
45
45
|
|
46
|
-
def
|
47
|
-
|
48
|
-
|
49
|
-
|
46
|
+
def retrieve_object_info(key:, label:)
|
47
|
+
result = retrieve_object_infos key: key, labels: [label]
|
48
|
+
result[label]
|
49
|
+
end
|
50
|
+
|
51
|
+
def retrieve_object_infos(key:, labels:)
|
52
|
+
url = "events/#{key}/objects"
|
53
|
+
query_params = URI.encode_www_form(labels.map { |label| ['label', label]})
|
54
|
+
response = @http_client.get(url, query_params)
|
55
|
+
response.each do |key, value|
|
56
|
+
response[key] = EventObjectInfo.new(value)
|
57
|
+
end
|
58
|
+
response
|
50
59
|
end
|
51
60
|
|
52
61
|
def book(event_key_or_keys, object_or_objects, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil, ignore_social_distancing: nil)
|
53
|
-
self.change_object_status(event_key_or_keys, object_or_objects,
|
62
|
+
self.change_object_status(event_key_or_keys, object_or_objects, Seatsio::EventObjectInfo::BOOKED, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys, ignore_social_distancing: ignore_social_distancing)
|
54
63
|
end
|
55
64
|
|
56
65
|
def change_object_status(event_key_or_keys, object_or_objects, status, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil, ignore_social_distancing: nil)
|
@@ -72,7 +81,7 @@ module Seatsio
|
|
72
81
|
end
|
73
82
|
|
74
83
|
def hold(event_key_or_keys, object_or_objects, hold_token, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil, ignore_social_distancing: nil)
|
75
|
-
change_object_status(event_key_or_keys, object_or_objects,
|
84
|
+
change_object_status(event_key_or_keys, object_or_objects, Seatsio::EventObjectInfo::HELD, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys, ignore_social_distancing: ignore_social_distancing)
|
76
85
|
end
|
77
86
|
|
78
87
|
def change_best_available_object_status(key, number, status, categories: nil, hold_token: nil, extra_data: nil, ticket_types: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
|
@@ -82,15 +91,15 @@ module Seatsio
|
|
82
91
|
end
|
83
92
|
|
84
93
|
def book_best_available(key, number, categories: nil, hold_token: nil, order_id: nil, keep_extra_data: nil, extra_data: nil, ticket_types: nil, ignore_channels: nil, channel_keys: nil)
|
85
|
-
change_best_available_object_status(key, number,
|
94
|
+
change_best_available_object_status(key, number, Seatsio::EventObjectInfo::BOOKED, categories: categories, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, extra_data: extra_data, ticket_types: ticket_types, ignore_channels: ignore_channels, channel_keys: channel_keys)
|
86
95
|
end
|
87
96
|
|
88
97
|
def hold_best_available(key, number, hold_token, categories: nil, order_id: nil, keep_extra_data: nil, extra_data: nil, ticket_types: nil, ignore_channels: nil, channel_keys: nil)
|
89
|
-
change_best_available_object_status(key, number,
|
98
|
+
change_best_available_object_status(key, number, Seatsio::EventObjectInfo::HELD, categories: categories, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, extra_data: extra_data, ticket_types: ticket_types, ignore_channels: ignore_channels, channel_keys: channel_keys)
|
90
99
|
end
|
91
100
|
|
92
101
|
def release(event_key_or_keys, object_or_objects, hold_token: nil, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
|
93
|
-
change_object_status(event_key_or_keys, object_or_objects,
|
102
|
+
change_object_status(event_key_or_keys, object_or_objects, Seatsio::EventObjectInfo::FREE, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys)
|
94
103
|
end
|
95
104
|
|
96
105
|
def delete(key:)
|
data/lib/seatsio/httpClient.rb
CHANGED
@@ -19,11 +19,18 @@ module Seatsio
|
|
19
19
|
unless @workspace_key.nil?
|
20
20
|
headers[:'X-Workspace-Key'] = @workspace_key
|
21
21
|
end
|
22
|
+
|
23
|
+
url = "#{@base_url}/#{args[1]}"
|
24
|
+
|
22
25
|
if args[2].include? :params
|
23
|
-
|
26
|
+
params = args[2][:params]
|
27
|
+
if params.is_a? Hash
|
28
|
+
headers[:params] = params
|
29
|
+
else
|
30
|
+
url += "?" + params
|
31
|
+
end
|
24
32
|
end
|
25
33
|
|
26
|
-
url = "#{@base_url}/#{args[1]}"
|
27
34
|
|
28
35
|
request_options = { method: args[0], url: url, headers: headers }
|
29
36
|
|
data/lib/seatsio/version.rb
CHANGED
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: 33.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: 2021-09-
|
11
|
+
date: 2021-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|