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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c59ef6860b18c605ab3c844cac4f320215a981421129ca2eb7d537acaea1f738
4
- data.tar.gz: 25cd36b90507702986d11172e2f0345686e2bf14a372f3af42323b50b37196a5
3
+ metadata.gz: eb9b9ede155afb77e4c55fac2ac7a9da697e5cf7f4f80e9a772002879718166d
4
+ data.tar.gz: ed80c3e21eca4567f4e613bfe1ed7e4dba90e62f4605dc2b4b47d1aface142aa
5
5
  SHA512:
6
- metadata.gz: 0dee64ba2af519b0b0ae00cbbb68a936d280aa2aafc130c3c7d4ca9dbdcefb302971ac577d15b43b1b3e1a89620501825d02e877f298a2763cbdbdc9b08dbfed
7
- data.tar.gz: 6788d6eea52021eb3d04b97533f9594270af300cee70fe80a6e822407d940a3fccd1f821a151ac78f2218d1db22618fa86c48ac5dd05fb9909917e96c3070217
6
+ metadata.gz: d4e792dcbdc73e9967de1c377b3a092dc4ba0f00615e8b57724580aa3cd93e29dcad82086f1ec1e9cd6ffc494ed6be4b85addcc01f422c4dd5462e286df836db
7
+ data.tar.gz: 31648860929a47b3b368504c32d573dda0f3bfa2b6f679d645c8c7577a0764aedf27660061f81800c2852769386e238b2644b892fc728bb2e55785631738fa13
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seatsio (32.6.0)
4
+ seatsio (33.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -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 ChartReportItem
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] << ChartReportItem.new(value)
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 << EventReportItem.new(item)
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] << EventReportItem.new(value)
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 EventReportItem
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] = EventReportItem.new(value)
495
+ object_details[key] = EventObjectInfo.new(value)
510
496
  end
511
497
  object_details
512
498
  end
@@ -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 retrieve_object_status(key:, object_key:)
47
- url = "events/#{key}/objects/#{CGI::escape(object_key).gsub('+', '%20')}"
48
- response = @http_client.get(url)
49
- ObjectStatus.new(response)
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, ObjectStatus::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)
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, ObjectStatus::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)
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, ObjectStatus::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)
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, ObjectStatus::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)
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, ObjectStatus::FREE, hold_token: hold_token, order_id: order_id, keep_extra_data: keep_extra_data, ignore_channels: ignore_channels, channel_keys: channel_keys)
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:)
@@ -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
- headers[:params] = args[2][:params]
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
 
@@ -1,3 +1,3 @@
1
1
  module Seatsio
2
- VERSION = "32.6.0"
2
+ VERSION = "33.0.0"
3
3
  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: 32.6.0
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-14 00:00:00.000000000 Z
11
+ date: 2021-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler