seatsio 23.7.0 → 24.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/seatsio/charts.rb +7 -4
- data/lib/seatsio/domain.rb +43 -23
- data/lib/seatsio/events.rb +8 -5
- 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: 4930b1db1d27358e928cc9505ce23c7087cf17f7dcfde447410d95adbd9d8ec7
|
4
|
+
data.tar.gz: 6697bab9ba71f211e932dac4c52e606cedd5c72ea32475d253bdc9658645dcd7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 70f297b8674903e48a297cadeb036aff12a8ceb2c473d390f2cf22f11de93c0893e6c28051c60cb3f695b150fe7b50d9c59773a9bcbf9f559196e071e4d26b5d
|
7
|
+
data.tar.gz: c89361a4618d02e15f7e6edf3eb5edca592a65bc3bc1c62c255b06a4eb1f4f313e79c1967f0bcdda6f5d2dba962958ad4b4a6e7479915a6874602782b79c55b0
|
data/Gemfile.lock
CHANGED
data/lib/seatsio/charts.rb
CHANGED
@@ -69,13 +69,11 @@ module Seatsio
|
|
69
69
|
end
|
70
70
|
|
71
71
|
def retrieve_published_version(key)
|
72
|
-
|
73
|
-
Domain::Chart.new(response)
|
72
|
+
@http_client.get("charts/#{key}/version/published")
|
74
73
|
end
|
75
74
|
|
76
75
|
def retrieve_draft_version(key)
|
77
|
-
|
78
|
-
Domain::ChartDraft.new(response)
|
76
|
+
@http_client.get("charts/#{key}/version/draft")
|
79
77
|
end
|
80
78
|
|
81
79
|
def retrieve_draft_version_thumbnail(key)
|
@@ -94,6 +92,11 @@ module Seatsio
|
|
94
92
|
@http_client.post("charts/#{chart_key}/version/draft/actions/publish")
|
95
93
|
end
|
96
94
|
|
95
|
+
def save_social_distancing_rulesets(chart_key, rulesets)
|
96
|
+
payload = {"socialDistancingRulesets": rulesets}
|
97
|
+
@http_client.post("charts/#{chart_key}/social-distancing-rulesets", payload)
|
98
|
+
end
|
99
|
+
|
97
100
|
def list(chart_filter: nil, tag: nil, expand_events: nil, with_validation: false)
|
98
101
|
cursor = Pagination::Cursor.new(Domain::Chart, 'charts', @http_client)
|
99
102
|
cursor.set_query_param('filter', chart_filter)
|
data/lib/seatsio/domain.rb
CHANGED
@@ -4,25 +4,11 @@ module Seatsio::Domain
|
|
4
4
|
|
5
5
|
module_function
|
6
6
|
|
7
|
-
class ChartCategories
|
8
|
-
attr_accessor :list, :max_category_key
|
9
|
-
|
10
|
-
def initialize(data)
|
11
|
-
if data
|
12
|
-
@list = data['list']
|
13
|
-
@max_category_key = data['maxCategoryKey']
|
14
|
-
else
|
15
|
-
@list = []
|
16
|
-
@max_category_key = ''
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
7
|
class Chart
|
22
8
|
|
23
9
|
attr_reader :id, :key, :status, :name, :published_version_thumbnail_url,
|
24
|
-
:draft_version_thumbnail_url, :events, :tags, :archived,
|
25
|
-
:categories, :validation
|
10
|
+
:draft_version_thumbnail_url, :events, :tags, :archived,
|
11
|
+
:categories, :validation, :social_distancing_rulesets
|
26
12
|
|
27
13
|
def initialize(data)
|
28
14
|
@id = data['id']
|
@@ -34,9 +20,12 @@ module Seatsio::Domain
|
|
34
20
|
@events = Event.create_list(data['events']) if data['events']
|
35
21
|
@tags = data['tags']
|
36
22
|
@archived = data['archived']
|
37
|
-
@venue_type = data['venueType']
|
38
|
-
@categories = ChartCategories.new(data['categories'])
|
39
23
|
@validation = data['validation']
|
24
|
+
@social_distancing_rulesets = data['socialDistancingRulesets'].map {
|
25
|
+
|key, r| [key, SocialDistancingRuleset.new(r['name'], r['numberOfDisabledSeatsToTheSides'], r['disableSeatsInFrontAndBehind'],
|
26
|
+
r['numberOfDisabledAisleSeats'], r['maxGroupSize'],
|
27
|
+
r['disabledSeats'], r['enabledSeats'], r['index'])]
|
28
|
+
}.to_h
|
40
29
|
end
|
41
30
|
end
|
42
31
|
|
@@ -84,10 +73,10 @@ module Seatsio::Domain
|
|
84
73
|
|
85
74
|
def == (other)
|
86
75
|
self.key == other.key &&
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
76
|
+
self.name == other.name &&
|
77
|
+
self.color == other.color &&
|
78
|
+
self.index == other.index &&
|
79
|
+
self.objects == other.objects
|
91
80
|
end
|
92
81
|
|
93
82
|
end
|
@@ -95,7 +84,8 @@ module Seatsio::Domain
|
|
95
84
|
class Event
|
96
85
|
|
97
86
|
attr_accessor :id, :key, :chart_key, :book_whole_tables, :supports_best_available,
|
98
|
-
:table_booking_modes, :for_sale_config, :created_on, :updated_on, :channels
|
87
|
+
:table_booking_modes, :for_sale_config, :created_on, :updated_on, :channels,
|
88
|
+
:social_distancing_ruleset_key
|
99
89
|
|
100
90
|
def initialize(data)
|
101
91
|
@id = data['id']
|
@@ -110,6 +100,7 @@ module Seatsio::Domain
|
|
110
100
|
@channels = data['channels'].map {
|
111
101
|
|d| Channel.new(d['key'], d['name'], d['color'], d['index'], d['objects'])
|
112
102
|
} if data['channels']
|
103
|
+
@social_distancing_ruleset_key = data['socialDistancingRulesetKey']
|
113
104
|
end
|
114
105
|
|
115
106
|
def self.create_list(list = [])
|
@@ -476,4 +467,33 @@ module Seatsio::Domain
|
|
476
467
|
object_details
|
477
468
|
end
|
478
469
|
|
470
|
+
class SocialDistancingRuleset
|
471
|
+
attr_reader :name, :number_of_disabled_seats_to_the_sides, :disable_seats_in_front_and_behind,
|
472
|
+
:number_of_disabled_aisle_seats, :max_group_size, :disabled_seats, :enabled_seats, :index
|
473
|
+
|
474
|
+
def initialize(name, number_of_disabled_seats_to_the_sides = 0, disable_seats_in_front_and_behind = false, number_of_disabled_aisle_seats = 0,
|
475
|
+
max_group_size = 0, disabled_seats = [], enabled_seats = [], index = 0)
|
476
|
+
@name = name
|
477
|
+
@number_of_disabled_seats_to_the_sides = number_of_disabled_seats_to_the_sides
|
478
|
+
@disable_seats_in_front_and_behind = disable_seats_in_front_and_behind
|
479
|
+
@number_of_disabled_aisle_seats = number_of_disabled_aisle_seats
|
480
|
+
@max_group_size = max_group_size
|
481
|
+
@disabled_seats = disabled_seats
|
482
|
+
@enabled_seats = enabled_seats
|
483
|
+
@index = index
|
484
|
+
end
|
485
|
+
|
486
|
+
def == (other)
|
487
|
+
self.name == other.name &&
|
488
|
+
self.number_of_disabled_seats_to_the_sides == other.number_of_disabled_seats_to_the_sides &&
|
489
|
+
self.disable_seats_in_front_and_behind == other.disable_seats_in_front_and_behind &&
|
490
|
+
self.number_of_disabled_aisle_seats == other.number_of_disabled_aisle_seats &&
|
491
|
+
self.max_group_size == other.max_group_size &&
|
492
|
+
self.disabled_seats == other.disabled_seats &&
|
493
|
+
self.enabled_seats == other.enabled_seats &&
|
494
|
+
self.index == other.index
|
495
|
+
end
|
496
|
+
|
497
|
+
end
|
498
|
+
|
479
499
|
end
|
data/lib/seatsio/events.rb
CHANGED
@@ -15,8 +15,9 @@ module Seatsio
|
|
15
15
|
@http_client = ::Seatsio::HttpClient.new(secret_key, workspace_key, base_url)
|
16
16
|
end
|
17
17
|
|
18
|
-
def create(chart_key: nil, event_key: nil, book_whole_tables: nil, table_booking_modes: nil)
|
19
|
-
payload = build_event_request(chart_key: chart_key, event_key: event_key, book_whole_tables: book_whole_tables,
|
18
|
+
def create(chart_key: nil, event_key: nil, book_whole_tables: nil, table_booking_modes: nil, social_distancing_ruleset_key: nil)
|
19
|
+
payload = build_event_request(chart_key: chart_key, event_key: event_key, book_whole_tables: book_whole_tables,
|
20
|
+
table_booking_modes: table_booking_modes, social_distancing_ruleset_key: social_distancing_ruleset_key)
|
20
21
|
response = @http_client.post("events", payload)
|
21
22
|
Domain::Event.new(response)
|
22
23
|
end
|
@@ -27,8 +28,9 @@ module Seatsio
|
|
27
28
|
Domain::Events.new(response).events
|
28
29
|
end
|
29
30
|
|
30
|
-
def update(key:, chart_key: nil, event_key: nil, book_whole_tables: nil, table_booking_modes: nil)
|
31
|
-
payload = build_event_request(chart_key: chart_key, event_key: event_key, book_whole_tables: book_whole_tables,
|
31
|
+
def update(key:, chart_key: nil, event_key: nil, book_whole_tables: nil, table_booking_modes: nil, social_distancing_ruleset_key: nil)
|
32
|
+
payload = build_event_request(chart_key: chart_key, event_key: event_key, book_whole_tables: book_whole_tables,
|
33
|
+
table_booking_modes: table_booking_modes, social_distancing_ruleset_key: social_distancing_ruleset_key)
|
32
34
|
@http_client.post("/events/#{key}", payload)
|
33
35
|
end
|
34
36
|
|
@@ -159,12 +161,13 @@ module Seatsio
|
|
159
161
|
payload
|
160
162
|
end
|
161
163
|
|
162
|
-
def build_event_request(chart_key: nil, event_key: nil, book_whole_tables: nil, table_booking_modes: nil)
|
164
|
+
def build_event_request(chart_key: nil, event_key: nil, book_whole_tables: nil, table_booking_modes: nil, social_distancing_ruleset_key: nil)
|
163
165
|
result = {}
|
164
166
|
result["chartKey"] = chart_key if chart_key
|
165
167
|
result["eventKey"] = event_key if event_key
|
166
168
|
result["bookWholeTables"] = book_whole_tables if book_whole_tables != nil
|
167
169
|
result["tableBookingModes"] = table_booking_modes if table_booking_modes != nil
|
170
|
+
result["socialDistancingRulesetKey"] = social_distancing_ruleset_key if social_distancing_ruleset_key != nil
|
168
171
|
result
|
169
172
|
end
|
170
173
|
|
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: 24.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: 2020-06-
|
11
|
+
date: 2020-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|