seatsio 32.6.0 → 33.0.0

Sign up to get free protection for your applications and to get access to all the features.
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