seatsio 26.2.0 → 31.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/.github/workflows/build.yml +26 -0
- data/.github/workflows/publish.yml +21 -0
- data/Gemfile.lock +1 -1
- data/README.md +8 -8
- data/lib/seatsio.rb +30 -2
- data/lib/seatsio/chart_reports.rb +1 -1
- data/lib/seatsio/charts.rb +12 -12
- data/lib/seatsio/domain.rb +82 -36
- data/lib/seatsio/event_reports.rb +31 -2
- data/lib/seatsio/events.rb +35 -32
- data/lib/seatsio/events/change_object_status_request.rb +2 -1
- data/lib/seatsio/hold_tokens.rb +3 -3
- data/lib/seatsio/subaccounts.rb +5 -5
- data/lib/seatsio/usage_reports.rb +3 -3
- data/lib/seatsio/version.rb +1 -1
- data/lib/seatsio/workspaces.rb +3 -3
- metadata +8 -7
- data/.travis.yml +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf1124000be835fc50c85b57259d3cc53d0efbb3625bff185329e412f0fd9b33
|
4
|
+
data.tar.gz: 4f85fb99913ddb488705092c483c88ada2da298a0f9b7dbcee90df3cae558a4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd5ed35d871c54d7101e78eaacb2fd9925ef0894e69d56150eecd671b04b8a01cafaabe57b51b94c02326c4a9acbdfe27fe1dbed1a680e3700c6d80ebef5723e
|
7
|
+
data.tar.gz: 933fe7bb11ebcc7e9c15f8efbe8dafbfb5c9b584f351f5cef9c949a51a0dd243eda159077d8be2b79b042e9eaab44947b1c1b1feaabddb8ca554bc487e11e3b9
|
@@ -0,0 +1,26 @@
|
|
1
|
+
name: 'Build'
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches: [ master ]
|
6
|
+
pull_request:
|
7
|
+
branches: [ master ]
|
8
|
+
|
9
|
+
jobs:
|
10
|
+
test:
|
11
|
+
|
12
|
+
runs-on: ubuntu-latest
|
13
|
+
strategy:
|
14
|
+
matrix:
|
15
|
+
ruby-version: ['2.3']
|
16
|
+
|
17
|
+
steps:
|
18
|
+
- uses: actions/checkout@v2
|
19
|
+
- uses: ruby/setup-ruby@v1
|
20
|
+
with:
|
21
|
+
ruby-version: ${{ matrix.ruby-version }}
|
22
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
23
|
+
- uses: zcong1993/setup-timezone@master
|
24
|
+
with:
|
25
|
+
timezone: Europe/Brussels
|
26
|
+
- run: bundle exec rake
|
@@ -0,0 +1,21 @@
|
|
1
|
+
name: 'Publish'
|
2
|
+
|
3
|
+
on:
|
4
|
+
release:
|
5
|
+
types: [created]
|
6
|
+
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v2
|
13
|
+
- run: |
|
14
|
+
mkdir -p $HOME/.gem
|
15
|
+
touch $HOME/.gem/credentials
|
16
|
+
chmod 0600 $HOME/.gem/credentials
|
17
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
18
|
+
gem build *.gemspec
|
19
|
+
gem push *.gem
|
20
|
+
env:
|
21
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_API_KEY}}"
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# seatsio-ruby, the official Seats.io Ruby client library
|
2
2
|
|
3
|
-
|
3
|
+

|
4
4
|
|
5
5
|
This is the official Ruby client library for the [Seats.io V2 REST API](https://docs.seats.io/docs/api-overview), supporting Ruby 2.2.0+
|
6
6
|
|
@@ -14,7 +14,7 @@ seatsio-ruby follows semver since v23.3.0.
|
|
14
14
|
|
15
15
|
```ruby
|
16
16
|
require('seatsio')
|
17
|
-
client = Seatsio::Client.new("my-workspace-secret-key") # can be found on https://app.seats.io/workspace-settings
|
17
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-workspace-secret-key") # can be found on https://app.seats.io/workspace-settings
|
18
18
|
chart = client.charts.create
|
19
19
|
event = client.events.create key: chart.key
|
20
20
|
```
|
@@ -23,7 +23,7 @@ event = client.events.create key: chart.key
|
|
23
23
|
|
24
24
|
```ruby
|
25
25
|
require('seatsio')
|
26
|
-
client = Seatsio::Client.new("my-workspace-secret-key")
|
26
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-workspace-secret-key")
|
27
27
|
client.events.book(event.key, ["A-1", "A-2"])
|
28
28
|
```
|
29
29
|
|
@@ -31,7 +31,7 @@ client.events.book(event.key, ["A-1", "A-2"])
|
|
31
31
|
|
32
32
|
```ruby
|
33
33
|
require('seatsio')
|
34
|
-
client = Seatsio::Client.new("my-workspace-secret-key")
|
34
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-workspace-secret-key")
|
35
35
|
client.events.release(event.key, ["A-1", "A-2"])
|
36
36
|
```
|
37
37
|
|
@@ -39,7 +39,7 @@ client.events.release(event.key, ["A-1", "A-2"])
|
|
39
39
|
|
40
40
|
```ruby
|
41
41
|
require('seatsio')
|
42
|
-
client = Seatsio::Client.new("my-workspace-secret-key")
|
42
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-workspace-secret-key")
|
43
43
|
client.events.book(event.key, ["A-1", "A-2"], hold_token: "a-hold-token")
|
44
44
|
```
|
45
45
|
|
@@ -47,7 +47,7 @@ client.events.book(event.key, ["A-1", "A-2"], hold_token: "a-hold-token")
|
|
47
47
|
|
48
48
|
```ruby
|
49
49
|
require('seatsio')
|
50
|
-
client = Seatsio::Client.new("my-workspace-secret-key")
|
50
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-workspace-secret-key")
|
51
51
|
client.events.change_object_status("<EVENT KEY>", ["A-1", "A-2"], "my-custom-status")
|
52
52
|
```
|
53
53
|
|
@@ -55,7 +55,7 @@ client.events.change_object_status("<EVENT KEY>", ["A-1", "A-2"], "my-custom-sta
|
|
55
55
|
|
56
56
|
```ruby
|
57
57
|
require('seatsio')
|
58
|
-
client = Seatsio::Client.new("my-workspace-secret-key")
|
58
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-workspace-secret-key")
|
59
59
|
charts = client.charts.list
|
60
60
|
charts.each do |chart|
|
61
61
|
puts chart.key
|
@@ -101,7 +101,7 @@ end
|
|
101
101
|
|
102
102
|
```ruby
|
103
103
|
require('seatsio')
|
104
|
-
client = Seatsio::Client.new("my-company-admin-key")
|
104
|
+
client = Seatsio::Client.new(Seatsio::Region.EU(), "my-company-admin-key")
|
105
105
|
client.workspaces.create name: "a workspace"
|
106
106
|
```
|
107
107
|
|
data/lib/seatsio.rb
CHANGED
@@ -9,12 +9,12 @@ require 'seatsio/event_reports'
|
|
9
9
|
require 'seatsio/usage_reports'
|
10
10
|
|
11
11
|
module Seatsio
|
12
|
-
# Main Seatsio Class
|
13
12
|
class Client
|
14
13
|
attr_reader :charts, :subaccounts, :workspaces, :events,
|
15
14
|
:hold_tokens, :chart_reports, :event_reports, :usage_reports
|
16
15
|
|
17
|
-
def initialize(secret_key, workspace_key = nil
|
16
|
+
def initialize(region, secret_key, workspace_key = nil)
|
17
|
+
base_url = region.url
|
18
18
|
@charts = ChartsClient.new(secret_key, workspace_key, base_url)
|
19
19
|
@subaccounts = SubaccountsClient.new(secret_key, workspace_key, base_url)
|
20
20
|
@workspaces = WorkspacesClient.new(secret_key, base_url)
|
@@ -25,4 +25,32 @@ module Seatsio
|
|
25
25
|
@usage_reports = UsageReportsClient.new(secret_key, workspace_key, base_url)
|
26
26
|
end
|
27
27
|
end
|
28
|
+
|
29
|
+
class Region
|
30
|
+
attr_reader :url
|
31
|
+
|
32
|
+
def initialize(url)
|
33
|
+
@url = url
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.EU()
|
37
|
+
return Region.new(Region.url_for_id("eu"))
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.NA()
|
41
|
+
return Region.new(Region.url_for_id("na"))
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.SA()
|
45
|
+
return Region.new(Region.url_for_id("sa"))
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.OC()
|
49
|
+
return Region.new(Region.url_for_id("oc"))
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.url_for_id(id)
|
53
|
+
return "https://api-" + id + ".seatsio.net"
|
54
|
+
end
|
55
|
+
end
|
28
56
|
end
|
@@ -28,7 +28,7 @@ module Seatsio
|
|
28
28
|
params = book_whole_tables.nil? ? {} : { bookWholeTables: book_whole_tables }
|
29
29
|
url = "reports/charts/#{chart_key}/#{report_type}"
|
30
30
|
body = @http_client.get(url, params)
|
31
|
-
|
31
|
+
ChartReport.new(body)
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
data/lib/seatsio/charts.rb
CHANGED
@@ -13,24 +13,24 @@ module Seatsio
|
|
13
13
|
|
14
14
|
def initialize(secret_key, workspace_key, base_url)
|
15
15
|
@http_client = Seatsio::HttpClient.new(secret_key, workspace_key, base_url)
|
16
|
-
@archive = Pagination::Cursor.new(
|
16
|
+
@archive = Pagination::Cursor.new(Chart, 'charts/archive', @http_client)
|
17
17
|
end
|
18
18
|
|
19
|
-
# @return [Seatsio::
|
19
|
+
# @return [Seatsio::Chart]
|
20
20
|
def retrieve(chart_key)
|
21
21
|
response = @http_client.get("charts/#{chart_key}")
|
22
|
-
|
22
|
+
Chart.new(response)
|
23
23
|
end
|
24
24
|
|
25
25
|
def retrieve_with_events(chart_key)
|
26
26
|
response = @http_client.get("charts/#{chart_key}?expand=events")
|
27
|
-
|
27
|
+
Chart.new(response)
|
28
28
|
end
|
29
29
|
|
30
30
|
def create(name: nil, venue_type: nil, categories: nil)
|
31
31
|
payload = build_chart_request name: name, venue_type: venue_type, categories: categories
|
32
32
|
response = @http_client.post('charts', payload)
|
33
|
-
|
33
|
+
Chart.new(response)
|
34
34
|
end
|
35
35
|
|
36
36
|
def update(key:, new_name: nil, categories: nil)
|
@@ -48,24 +48,24 @@ module Seatsio
|
|
48
48
|
|
49
49
|
def copy(key)
|
50
50
|
response = @http_client.post("charts/#{key}/version/published/actions/copy")
|
51
|
-
|
51
|
+
Chart.new(response)
|
52
52
|
end
|
53
53
|
|
54
54
|
def copy_to_subaccount(chart_key, subaccount_id)
|
55
55
|
url = "charts/#{chart_key}/version/published/actions/copy-to/#{subaccount_id}"
|
56
56
|
response = @http_client.post url
|
57
|
-
|
57
|
+
Chart.new(response)
|
58
58
|
end
|
59
59
|
|
60
60
|
def copy_to_workspace(chart_key, to_workspace_key)
|
61
61
|
url = "charts/#{chart_key}/version/published/actions/copy-to-workspace/#{to_workspace_key}"
|
62
62
|
response = @http_client.post url
|
63
|
-
|
63
|
+
Chart.new(response)
|
64
64
|
end
|
65
65
|
|
66
66
|
def copy_draft_version(key)
|
67
67
|
response = @http_client.post("charts/#{key}/version/draft/actions/copy")
|
68
|
-
|
68
|
+
Chart.new(response)
|
69
69
|
end
|
70
70
|
|
71
71
|
def retrieve_published_version(key)
|
@@ -98,7 +98,7 @@ module Seatsio
|
|
98
98
|
end
|
99
99
|
|
100
100
|
def list(chart_filter: nil, tag: nil, expand_events: nil, with_validation: false)
|
101
|
-
cursor = Pagination::Cursor.new(
|
101
|
+
cursor = Pagination::Cursor.new(Chart, 'charts', @http_client)
|
102
102
|
cursor.set_query_param('filter', chart_filter)
|
103
103
|
cursor.set_query_param('tag', tag)
|
104
104
|
|
@@ -123,12 +123,12 @@ module Seatsio
|
|
123
123
|
|
124
124
|
def validate_published_version(chart_key)
|
125
125
|
response = @http_client.post("charts/#{chart_key}/version/published/actions/validate")
|
126
|
-
Seatsio::
|
126
|
+
Seatsio::ChartValidationResult.new(response)
|
127
127
|
end
|
128
128
|
|
129
129
|
def validate_draft_version(chart_key)
|
130
130
|
response = @http_client.post("charts/#{chart_key}/version/draft/actions/validate")
|
131
|
-
Seatsio::
|
131
|
+
Seatsio::ChartValidationResult.new(response)
|
132
132
|
end
|
133
133
|
|
134
134
|
private
|
data/lib/seatsio/domain.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'seatsio/util'
|
2
2
|
|
3
|
-
module Seatsio
|
3
|
+
module Seatsio
|
4
4
|
|
5
5
|
module_function
|
6
6
|
|
@@ -22,10 +22,19 @@ module Seatsio::Domain
|
|
22
22
|
@archived = data['archived']
|
23
23
|
@validation = data['validation']
|
24
24
|
@social_distancing_rulesets = data['socialDistancingRulesets'].map {
|
25
|
-
|key, r| [key, SocialDistancingRuleset.new(r['name'],
|
26
|
-
|
27
|
-
|
28
|
-
|
25
|
+
|key, r| [key, SocialDistancingRuleset.new(r['name'],
|
26
|
+
number_of_disabled_seats_to_the_sides: r['numberOfDisabledSeatsToTheSides'],
|
27
|
+
disable_seats_in_front_and_behind: r['disableSeatsInFrontAndBehind'],
|
28
|
+
disable_diagonal_seats_in_front_and_behind: r['disableDiagonalSeatsInFrontAndBehind'],
|
29
|
+
number_of_disabled_aisle_seats: r['numberOfDisabledAisleSeats'],
|
30
|
+
max_group_size: r['maxGroupSize'],
|
31
|
+
max_occupancy_absolute: r['maxOccupancyAbsolute'],
|
32
|
+
max_occupancy_percentage: r['maxOccupancyPercentage'],
|
33
|
+
one_group_per_table: r['oneGroupPerTable'],
|
34
|
+
fixed_group_layout: r['fixedGroupLayout'],
|
35
|
+
disabled_seats: r['disabledSeats'],
|
36
|
+
enabled_seats: r['enabledSeats'],
|
37
|
+
index: r['index'])]
|
29
38
|
}.to_h
|
30
39
|
end
|
31
40
|
end
|
@@ -61,6 +70,38 @@ module Seatsio::Domain
|
|
61
70
|
end
|
62
71
|
end
|
63
72
|
|
73
|
+
class TableBookingConfig
|
74
|
+
|
75
|
+
attr_reader :mode, :tables
|
76
|
+
|
77
|
+
def initialize(mode, tables = nil)
|
78
|
+
@mode = mode
|
79
|
+
@tables = tables
|
80
|
+
end
|
81
|
+
|
82
|
+
def self.inherit
|
83
|
+
TableBookingConfig.new('INHERIT')
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.all_by_seat
|
87
|
+
TableBookingConfig.new('ALL_BY_SEAT')
|
88
|
+
end
|
89
|
+
|
90
|
+
def self.all_by_table
|
91
|
+
TableBookingConfig.new('ALL_BY_TABLE')
|
92
|
+
end
|
93
|
+
|
94
|
+
def self.custom(tables)
|
95
|
+
TableBookingConfig.new('CUSTOM', tables)
|
96
|
+
end
|
97
|
+
|
98
|
+
def self.from_json(data)
|
99
|
+
if data
|
100
|
+
TableBookingConfig.new(data['mode'], data['tables'])
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
64
105
|
class Channel
|
65
106
|
attr_reader :key, :name, :color, :index, :objects
|
66
107
|
|
@@ -84,17 +125,16 @@ module Seatsio::Domain
|
|
84
125
|
|
85
126
|
class Event
|
86
127
|
|
87
|
-
attr_accessor :id, :key, :chart_key, :
|
88
|
-
:
|
128
|
+
attr_accessor :id, :key, :chart_key, :supports_best_available,
|
129
|
+
:table_booking_config, :for_sale_config, :created_on, :updated_on, :channels,
|
89
130
|
:social_distancing_ruleset_key
|
90
131
|
|
91
132
|
def initialize(data)
|
92
133
|
@id = data['id']
|
93
134
|
@key = data['key']
|
94
135
|
@chart_key = data['chartKey']
|
95
|
-
@book_whole_tables = data['bookWholeTables']
|
96
136
|
@supports_best_available = data['supportsBestAvailable']
|
97
|
-
@
|
137
|
+
@table_booking_config = TableBookingConfig::from_json(data['tableBookingConfig'])
|
98
138
|
@for_sale_config = ForSaleConfig.new(data['forSaleConfig']) if data['forSaleConfig']
|
99
139
|
@created_on = parse_date(data['createdOn'])
|
100
140
|
@updated_on = parse_date(data['updatedOn'])
|
@@ -185,7 +225,7 @@ module Seatsio::Domain
|
|
185
225
|
attr_reader :objects
|
186
226
|
|
187
227
|
def initialize(data)
|
188
|
-
@objects = Seatsio
|
228
|
+
@objects = Seatsio.to_object_details(data['objects']);
|
189
229
|
end
|
190
230
|
end
|
191
231
|
|
@@ -217,14 +257,14 @@ module Seatsio::Domain
|
|
217
257
|
def initialize(data)
|
218
258
|
@next_to_each_other = data['nextToEachOther']
|
219
259
|
@objects = data['objects']
|
220
|
-
@object_details = Seatsio
|
260
|
+
@object_details = Seatsio.to_object_details(data['objectDetails'])
|
221
261
|
end
|
222
262
|
end
|
223
263
|
|
224
264
|
class ChartReportItem
|
225
265
|
|
226
266
|
attr_reader :label, :labels, :category_key, :category_label, :section, :entrance, :capacity, :object_type,
|
227
|
-
:left_neighbour, :right_neighbour
|
267
|
+
:left_neighbour, :right_neighbour, :book_as_a_whole
|
228
268
|
|
229
269
|
def initialize(data)
|
230
270
|
@label = data['label']
|
@@ -237,6 +277,7 @@ module Seatsio::Domain
|
|
237
277
|
@object_type = data['objectType']
|
238
278
|
@left_neighbour = data['leftNeighbour']
|
239
279
|
@right_neighbour = data['rightNeighbour']
|
280
|
+
@book_as_a_whole = data['bookAsAWhole']
|
240
281
|
end
|
241
282
|
end
|
242
283
|
|
@@ -287,7 +328,8 @@ module Seatsio::Domain
|
|
287
328
|
:category_key, :entrance, :object_type, :hold_token, :category_label,
|
288
329
|
:ticket_type, :num_booked, :num_free, :num_held, :for_sale, :section,
|
289
330
|
:is_accessible, :is_companion_seat, :has_restricted_view, :displayed_object_type,
|
290
|
-
:left_neighbour, :right_neighbour, :is_selectable, :is_disabled_by_social_distancing, :channel
|
331
|
+
:left_neighbour, :right_neighbour, :is_selectable, :is_disabled_by_social_distancing, :channel,
|
332
|
+
:book_as_a_whole
|
291
333
|
|
292
334
|
def initialize(data)
|
293
335
|
@status = data['status']
|
@@ -316,6 +358,7 @@ module Seatsio::Domain
|
|
316
358
|
@is_selectable = data['isSelectable']
|
317
359
|
@is_disabled_by_social_distancing = data['isDisabledBySocialDistancing']
|
318
360
|
@channel = data['channel']
|
361
|
+
@book_as_a_whole = data['bookAsAWhole']
|
319
362
|
end
|
320
363
|
end
|
321
364
|
|
@@ -343,23 +386,14 @@ module Seatsio::Domain
|
|
343
386
|
|
344
387
|
class UsageDetails
|
345
388
|
|
346
|
-
attr_reader :
|
389
|
+
attr_reader :workspace, :usage_by_chart
|
347
390
|
|
348
391
|
def initialize(data)
|
349
|
-
@
|
392
|
+
@workspace = data['workspace']
|
350
393
|
@usage_by_chart = data['usageByChart'].map { |usage| UsageByChart.new(usage) }
|
351
394
|
end
|
352
395
|
end
|
353
396
|
|
354
|
-
class UsageSubaccount
|
355
|
-
|
356
|
-
attr_reader :id
|
357
|
-
|
358
|
-
def initialize(data)
|
359
|
-
@id = data['id']
|
360
|
-
end
|
361
|
-
end
|
362
|
-
|
363
397
|
class UsageByChart
|
364
398
|
|
365
399
|
attr_reader :chart, :usage_by_event
|
@@ -475,15 +509,16 @@ module Seatsio::Domain
|
|
475
509
|
|
476
510
|
class SocialDistancingRuleset
|
477
511
|
attr_reader :name, :number_of_disabled_seats_to_the_sides, :disable_seats_in_front_and_behind,
|
478
|
-
:number_of_disabled_aisle_seats, :max_group_size, :max_occupancy_absolute,
|
512
|
+
:disable_diagonal_seats_in_front_and_behind, :number_of_disabled_aisle_seats, :max_group_size, :max_occupancy_absolute,
|
479
513
|
:max_occupancy_percentage, :one_group_per_table, :fixed_group_layout, :disabled_seats, :enabled_seats, :index
|
480
514
|
|
481
|
-
def initialize(name, number_of_disabled_seats_to_the_sides
|
482
|
-
max_group_size
|
483
|
-
fixed_group_layout
|
515
|
+
def initialize(name, number_of_disabled_seats_to_the_sides: 0, disable_seats_in_front_and_behind: false, disable_diagonal_seats_in_front_and_behind: false,
|
516
|
+
number_of_disabled_aisle_seats: 0, max_group_size: 0, max_occupancy_absolute: 0, max_occupancy_percentage: 0, one_group_per_table: false,
|
517
|
+
fixed_group_layout: false, disabled_seats: [], enabled_seats: [], index: 0)
|
484
518
|
@name = name
|
485
519
|
@number_of_disabled_seats_to_the_sides = number_of_disabled_seats_to_the_sides
|
486
520
|
@disable_seats_in_front_and_behind = disable_seats_in_front_and_behind
|
521
|
+
@disable_diagonal_seats_in_front_and_behind = disable_diagonal_seats_in_front_and_behind
|
487
522
|
@number_of_disabled_aisle_seats = number_of_disabled_aisle_seats
|
488
523
|
@max_group_size = max_group_size
|
489
524
|
@max_occupancy_absolute = max_occupancy_absolute
|
@@ -495,22 +530,33 @@ module Seatsio::Domain
|
|
495
530
|
@index = index
|
496
531
|
end
|
497
532
|
|
498
|
-
def self.fixed(name, disabled_seats
|
499
|
-
SocialDistancingRuleset.new(name,
|
533
|
+
def self.fixed(name, disabled_seats: [], index: 0)
|
534
|
+
return SocialDistancingRuleset.new(name, index: index, disabled_seats: disabled_seats, fixed_group_layout: true)
|
500
535
|
end
|
501
536
|
|
502
|
-
def self.rule_based(name, number_of_disabled_seats_to_the_sides
|
503
|
-
max_group_size
|
504
|
-
disabled_seats
|
505
|
-
SocialDistancingRuleset.new(name,
|
506
|
-
|
507
|
-
|
537
|
+
def self.rule_based(name, number_of_disabled_seats_to_the_sides: 0, disable_seats_in_front_and_behind: false, disable_diagonal_seats_in_front_and_behind: false,
|
538
|
+
number_of_disabled_aisle_seats: 0, max_group_size: 0, max_occupancy_absolute: 0, max_occupancy_percentage: 0, one_group_per_table: false,
|
539
|
+
disabled_seats: [], enabled_seats: [], index: 0)
|
540
|
+
return SocialDistancingRuleset.new(name,
|
541
|
+
number_of_disabled_seats_to_the_sides: number_of_disabled_seats_to_the_sides,
|
542
|
+
disable_seats_in_front_and_behind: disable_seats_in_front_and_behind,
|
543
|
+
disable_diagonal_seats_in_front_and_behind: disable_diagonal_seats_in_front_and_behind,
|
544
|
+
number_of_disabled_aisle_seats: number_of_disabled_aisle_seats,
|
545
|
+
max_group_size: max_group_size,
|
546
|
+
max_occupancy_absolute: max_occupancy_absolute,
|
547
|
+
max_occupancy_percentage: max_occupancy_percentage,
|
548
|
+
one_group_per_table: one_group_per_table,
|
549
|
+
fixed_group_layout: false,
|
550
|
+
disabled_seats: disabled_seats,
|
551
|
+
enabled_seats: enabled_seats,
|
552
|
+
index: index)
|
508
553
|
end
|
509
554
|
|
510
555
|
def == (other)
|
511
556
|
self.name == other.name &&
|
512
557
|
self.number_of_disabled_seats_to_the_sides == other.number_of_disabled_seats_to_the_sides &&
|
513
558
|
self.disable_seats_in_front_and_behind == other.disable_seats_in_front_and_behind &&
|
559
|
+
self.disable_diagonal_seats_in_front_and_behind == other.disable_diagonal_seats_in_front_and_behind &&
|
514
560
|
self.number_of_disabled_aisle_seats == other.number_of_disabled_aisle_seats &&
|
515
561
|
self.max_group_size == other.max_group_size &&
|
516
562
|
self.max_occupancy_absolute == other.max_occupancy_absolute &&
|
@@ -15,26 +15,50 @@ module Seatsio
|
|
15
15
|
fetch_summary_report('byStatus', event_key)
|
16
16
|
end
|
17
17
|
|
18
|
+
def deep_summary_by_status(event_key)
|
19
|
+
fetch_deep_summary_report('byStatus', event_key)
|
20
|
+
end
|
21
|
+
|
18
22
|
def summary_by_category_key(event_key)
|
19
23
|
fetch_summary_report('byCategoryKey', event_key)
|
20
24
|
end
|
21
25
|
|
26
|
+
def deep_summary_by_category_key(event_key)
|
27
|
+
fetch_deep_summary_report('byCategoryKey', event_key)
|
28
|
+
end
|
29
|
+
|
22
30
|
def summary_by_category_label(event_key)
|
23
31
|
fetch_summary_report('byCategoryLabel', event_key)
|
24
32
|
end
|
25
33
|
|
34
|
+
def deep_summary_by_category_label(event_key)
|
35
|
+
fetch_deep_summary_report('byCategoryLabel', event_key)
|
36
|
+
end
|
37
|
+
|
26
38
|
def summary_by_section(event_key)
|
27
39
|
fetch_summary_report('bySection', event_key)
|
28
40
|
end
|
29
41
|
|
42
|
+
def deep_summary_by_section(event_key)
|
43
|
+
fetch_deep_summary_report('bySection', event_key)
|
44
|
+
end
|
45
|
+
|
30
46
|
def summary_by_selectability(event_key)
|
31
47
|
fetch_summary_report('bySelectability', event_key)
|
32
48
|
end
|
33
49
|
|
50
|
+
def deep_summary_by_selectability(event_key)
|
51
|
+
fetch_deep_summary_report('bySelectability', event_key)
|
52
|
+
end
|
53
|
+
|
34
54
|
def summary_by_channel(event_key)
|
35
55
|
fetch_summary_report('byChannel', event_key)
|
36
56
|
end
|
37
57
|
|
58
|
+
def deep_summary_by_channel(event_key)
|
59
|
+
fetch_deep_summary_report('byChannel', event_key)
|
60
|
+
end
|
61
|
+
|
38
62
|
def by_label(event_key, label = nil)
|
39
63
|
fetch_report('byLabel', event_key, label)
|
40
64
|
end
|
@@ -74,15 +98,20 @@ module Seatsio
|
|
74
98
|
@http_client.get(url)
|
75
99
|
end
|
76
100
|
|
101
|
+
def fetch_deep_summary_report(report_type, event_key)
|
102
|
+
url = "reports/events/#{event_key}/#{report_type}/summary/deep"
|
103
|
+
@http_client.get(url)
|
104
|
+
end
|
105
|
+
|
77
106
|
def fetch_report(report_type, event_key, report_filter = nil)
|
78
107
|
if report_filter
|
79
108
|
url = "reports/events/#{event_key}/#{report_type}/#{report_filter}"
|
80
109
|
body = @http_client.get(url)
|
81
|
-
|
110
|
+
EventReport.new(body[report_filter])
|
82
111
|
else
|
83
112
|
url = "reports/events/#{event_key}/#{report_type}"
|
84
113
|
body = @http_client.get(url)
|
85
|
-
|
114
|
+
EventReport.new(body)
|
86
115
|
end
|
87
116
|
end
|
88
117
|
end
|
data/lib/seatsio/events.rb
CHANGED
@@ -15,22 +15,21 @@ 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,
|
19
|
-
payload = build_event_request(chart_key: chart_key, event_key: event_key,
|
20
|
-
|
18
|
+
def create(chart_key: nil, event_key: nil, table_booking_config: nil, social_distancing_ruleset_key: nil)
|
19
|
+
payload = build_event_request(chart_key: chart_key, event_key: event_key,
|
20
|
+
table_booking_config: table_booking_config, social_distancing_ruleset_key: social_distancing_ruleset_key)
|
21
21
|
response = @http_client.post("events", payload)
|
22
|
-
|
22
|
+
Event.new(response)
|
23
23
|
end
|
24
24
|
|
25
25
|
def create_multiple(key: nil, event_creation_params: nil)
|
26
26
|
payload = build_events_request(chart_key: key, event_creation_params: event_creation_params)
|
27
27
|
response = @http_client.post("events/actions/create-multiple", payload)
|
28
|
-
|
28
|
+
Events.new(response).events
|
29
29
|
end
|
30
30
|
|
31
|
-
def update(key:, chart_key: nil, event_key: nil,
|
32
|
-
payload = build_event_request(chart_key: chart_key, event_key: event_key,
|
33
|
-
table_booking_modes: table_booking_modes, social_distancing_ruleset_key: social_distancing_ruleset_key)
|
31
|
+
def update(key:, chart_key: nil, event_key: nil, table_booking_config: nil, social_distancing_ruleset_key: nil)
|
32
|
+
payload = build_event_request(chart_key: chart_key, event_key: event_key, table_booking_config: table_booking_config, social_distancing_ruleset_key: social_distancing_ruleset_key)
|
34
33
|
@http_client.post("/events/#{key}", payload)
|
35
34
|
end
|
36
35
|
|
@@ -47,77 +46,76 @@ module Seatsio
|
|
47
46
|
def retrieve_object_status(key:, object_key:)
|
48
47
|
url = "events/#{key}/objects/#{CGI::escape(object_key).gsub('+', '%20')}"
|
49
48
|
response = @http_client.get(url)
|
50
|
-
|
49
|
+
ObjectStatus.new(response)
|
51
50
|
end
|
52
51
|
|
53
|
-
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)
|
54
|
-
self.change_object_status(event_key_or_keys, object_or_objects,
|
52
|
+
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)
|
55
54
|
end
|
56
55
|
|
57
|
-
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)
|
58
|
-
request = create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys)
|
56
|
+
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)
|
57
|
+
request = create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys, ignore_social_distancing)
|
59
58
|
request[:params] = {
|
60
59
|
:expand => 'objects'
|
61
60
|
}
|
62
61
|
response = @http_client.post("seasons/actions/change-object-status", request)
|
63
|
-
|
62
|
+
ChangeObjectStatusResult.new(response)
|
64
63
|
end
|
65
64
|
|
66
65
|
def change_object_status_in_batch(status_change_requests)
|
67
66
|
request = {
|
68
67
|
:statusChanges => status_change_requests,
|
69
|
-
:params => {
|
68
|
+
:params => {:expand => 'objects'}
|
70
69
|
}
|
71
70
|
response = @http_client.post("events/actions/change-object-status", request)
|
72
|
-
|
71
|
+
ChangeObjectStatusInBatchResult.new(response).results
|
73
72
|
end
|
74
73
|
|
75
|
-
def hold(event_key_or_keys, object_or_objects, hold_token, order_id: nil, keep_extra_data: nil, ignore_channels: nil, channel_keys: nil)
|
76
|
-
change_object_status(event_key_or_keys, object_or_objects,
|
74
|
+
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)
|
77
76
|
end
|
78
77
|
|
79
78
|
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)
|
80
79
|
request = create_change_best_available_object_status_request(number, status, categories, extra_data, ticket_types, hold_token, order_id, keep_extra_data, ignore_channels, channel_keys)
|
81
80
|
response = @http_client.post("events/#{key}/actions/change-object-status", request)
|
82
|
-
|
81
|
+
BestAvailableObjects.new(response)
|
83
82
|
end
|
84
83
|
|
85
84
|
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)
|
86
|
-
change_best_available_object_status(key, number,
|
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)
|
87
86
|
end
|
88
87
|
|
89
88
|
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)
|
90
|
-
change_best_available_object_status(key, number,
|
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)
|
91
90
|
end
|
92
91
|
|
93
92
|
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)
|
94
|
-
change_object_status(event_key_or_keys, object_or_objects,
|
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)
|
95
94
|
end
|
96
95
|
|
97
96
|
def delete(key:)
|
98
97
|
@http_client.delete("/events/#{key}")
|
99
98
|
end
|
100
99
|
|
101
|
-
|
102
100
|
def retrieve(key:)
|
103
101
|
response = @http_client.get("events/#{key}")
|
104
|
-
|
102
|
+
Event.new(response)
|
105
103
|
end
|
106
104
|
|
107
105
|
def list
|
108
|
-
Pagination::Cursor.new(
|
106
|
+
Pagination::Cursor.new(Event, 'events', @http_client)
|
109
107
|
end
|
110
108
|
|
111
109
|
def list_status_changes(key, object_id = nil)
|
112
110
|
if object_id != nil
|
113
111
|
status_changes_for_object key: key, object_id: object_id
|
114
112
|
else
|
115
|
-
Pagination::Cursor.new(
|
113
|
+
Pagination::Cursor.new(StatusChange, "/events/#{key}/status-changes", @http_client)
|
116
114
|
end
|
117
115
|
end
|
118
116
|
|
119
117
|
def status_changes_for_object(key:, object_id:)
|
120
|
-
Pagination::Cursor.new(
|
118
|
+
Pagination::Cursor.new(StatusChange, "/events/#{key}/objects/#{object_id}/status-changes", @http_client)
|
121
119
|
end
|
122
120
|
|
123
121
|
def mark_as_not_for_sale(key:, objects: nil, categories: nil)
|
@@ -157,12 +155,11 @@ module Seatsio
|
|
157
155
|
payload
|
158
156
|
end
|
159
157
|
|
160
|
-
def build_event_request(chart_key: nil, event_key: nil,
|
158
|
+
def build_event_request(chart_key: nil, event_key: nil, table_booking_config: nil, social_distancing_ruleset_key: nil)
|
161
159
|
result = {}
|
162
160
|
result["chartKey"] = chart_key if chart_key
|
163
161
|
result["eventKey"] = event_key if event_key
|
164
|
-
result["
|
165
|
-
result["tableBookingModes"] = table_booking_modes if table_booking_modes != nil
|
162
|
+
result["tableBookingConfig"] = table_booking_config_to_request(table_booking_config) if table_booking_config != nil
|
166
163
|
result["socialDistancingRulesetKey"] = social_distancing_ruleset_key if social_distancing_ruleset_key != nil
|
167
164
|
result
|
168
165
|
end
|
@@ -179,12 +176,18 @@ module Seatsio
|
|
179
176
|
params.each do |param|
|
180
177
|
r = {}
|
181
178
|
r["eventKey"] = param[:event_key] if param[:event_key] != nil
|
182
|
-
r["
|
183
|
-
r["tableBookingModes"] = param[:table_booking_modes] if param[:table_booking_modes] != nil
|
179
|
+
r["tableBookingConfig"] = table_booking_config_to_request(param[:table_booking_config]) if param[:table_booking_config] != nil
|
184
180
|
result.push(r)
|
185
181
|
end
|
186
182
|
result
|
187
183
|
end
|
188
184
|
|
185
|
+
def table_booking_config_to_request(table_booking_config)
|
186
|
+
result = {}
|
187
|
+
result["mode"] = table_booking_config.mode
|
188
|
+
result["tables"] = table_booking_config.tables if table_booking_config.tables != nil
|
189
|
+
result
|
190
|
+
end
|
191
|
+
|
189
192
|
end
|
190
193
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
def create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys)
|
1
|
+
def create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data, ignore_channels, channel_keys, ignore_social_distancing)
|
2
2
|
result = {}
|
3
3
|
result[:objects] = normalize(object_or_objects)
|
4
4
|
result[:status] = status
|
@@ -12,6 +12,7 @@ def create_change_object_status_request(object_or_objects, status, hold_token, o
|
|
12
12
|
result[:keepExtraData] = keep_extra_data if keep_extra_data != nil
|
13
13
|
result[:ignoreChannels] = ignore_channels if ignore_channels != nil
|
14
14
|
result[:channelKeys] = channel_keys if channel_keys != nil
|
15
|
+
result[:ignoreSocialDistancing] = ignore_social_distancing if ignore_social_distancing != nil
|
15
16
|
result
|
16
17
|
end
|
17
18
|
|
data/lib/seatsio/hold_tokens.rb
CHANGED
@@ -21,18 +21,18 @@ module Seatsio
|
|
21
21
|
body[:expiresInMinutes] = expires_in_minutes
|
22
22
|
end
|
23
23
|
response = @http_client.post('hold-tokens', body)
|
24
|
-
|
24
|
+
HoldToken.new(response)
|
25
25
|
end
|
26
26
|
|
27
27
|
def retrieve(hold_token)
|
28
28
|
response = @http_client.get("/hold-tokens/#{hold_token}")
|
29
|
-
|
29
|
+
HoldToken.new(response)
|
30
30
|
end
|
31
31
|
|
32
32
|
def expire_in_minutes(hold_token, expires_in_minutes = nil)
|
33
33
|
body = {"expiresInMinutes": expires_in_minutes}
|
34
34
|
response = @http_client.post("/hold-tokens/#{hold_token}", body)
|
35
|
-
|
35
|
+
HoldToken.new(response)
|
36
36
|
end
|
37
37
|
end
|
38
38
|
end
|
data/lib/seatsio/subaccounts.rb
CHANGED
@@ -17,7 +17,7 @@ module Seatsio
|
|
17
17
|
body['name'] = name if name
|
18
18
|
|
19
19
|
response = @http_client.post("subaccounts", body)
|
20
|
-
|
20
|
+
Subaccount.new(response)
|
21
21
|
end
|
22
22
|
|
23
23
|
def update(id:, name: nil)
|
@@ -50,17 +50,17 @@ module Seatsio
|
|
50
50
|
|
51
51
|
def retrieve(id:)
|
52
52
|
response = @http_client.get("/subaccounts/#{id}")
|
53
|
-
|
53
|
+
Subaccount.new(response)
|
54
54
|
end
|
55
55
|
|
56
56
|
def copy_chart_to_parent(id: nil, chart_key: nil)
|
57
57
|
response = @http_client.post("/subaccounts/#{id}/charts/#{chart_key}/actions/copy-to/parent")
|
58
|
-
|
58
|
+
Chart.new(response)
|
59
59
|
end
|
60
60
|
|
61
61
|
def copy_chart_to_subaccount(from_id: nil, to_id: nil, chart_key: nil)
|
62
62
|
response = @http_client.post("/subaccounts/#{from_id}/charts/#{chart_key}/actions/copy-to/#{to_id}")
|
63
|
-
|
63
|
+
Chart.new(response)
|
64
64
|
end
|
65
65
|
|
66
66
|
def regenerate_secret_key(id:)
|
@@ -75,7 +75,7 @@ module Seatsio
|
|
75
75
|
|
76
76
|
def cursor(status: nil)
|
77
77
|
endpoint = status ? "subaccounts/#{status}" : 'subaccounts'
|
78
|
-
Pagination::Cursor.new(
|
78
|
+
Pagination::Cursor.new(Subaccount, endpoint, @http_client)
|
79
79
|
end
|
80
80
|
end
|
81
81
|
end
|
@@ -13,19 +13,19 @@ module Seatsio
|
|
13
13
|
def summary_for_all_months
|
14
14
|
url = "reports/usage"
|
15
15
|
body = @http_client.get(url)
|
16
|
-
|
16
|
+
UsageSummaryForAllMoths.new(body)
|
17
17
|
end
|
18
18
|
|
19
19
|
def details_for_month(month)
|
20
20
|
url = "reports/usage/month/" + month.serialize
|
21
21
|
body = @http_client.get(url)
|
22
|
-
body.map { |item|
|
22
|
+
body.map { |item| UsageDetails.new(item) }
|
23
23
|
end
|
24
24
|
|
25
25
|
def details_for_event_in_month(eventId, month)
|
26
26
|
url = "reports/usage/month/" + month.serialize + "/event/" + eventId.to_s
|
27
27
|
body = @http_client.get(url)
|
28
|
-
body.map { |item|
|
28
|
+
body.map { |item| UsageForObject.new(item) }
|
29
29
|
end
|
30
30
|
end
|
31
31
|
end
|
data/lib/seatsio/version.rb
CHANGED
data/lib/seatsio/workspaces.rb
CHANGED
@@ -18,7 +18,7 @@ module Seatsio
|
|
18
18
|
body['isTest'] = is_test if is_test
|
19
19
|
|
20
20
|
response = @http_client.post("workspaces", body)
|
21
|
-
|
21
|
+
Workspace.new(response)
|
22
22
|
end
|
23
23
|
|
24
24
|
def update(key:, name:)
|
@@ -52,13 +52,13 @@ module Seatsio
|
|
52
52
|
|
53
53
|
def retrieve(key:)
|
54
54
|
response = @http_client.get("/workspaces/#{key}")
|
55
|
-
|
55
|
+
Workspace.new(response)
|
56
56
|
end
|
57
57
|
|
58
58
|
private
|
59
59
|
|
60
60
|
def cursor()
|
61
|
-
Pagination::Cursor.new(
|
61
|
+
Pagination::Cursor.new(Workspace, 'workspaces', @http_client)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
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: 31.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seats.io
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -100,9 +100,10 @@ extensions: []
|
|
100
100
|
extra_rdoc_files: []
|
101
101
|
files:
|
102
102
|
- ".editorconfig"
|
103
|
+
- ".github/workflows/build.yml"
|
104
|
+
- ".github/workflows/publish.yml"
|
103
105
|
- ".gitignore"
|
104
106
|
- ".ruby-version"
|
105
|
-
- ".travis.yml"
|
106
107
|
- Gemfile
|
107
108
|
- Gemfile.lock
|
108
109
|
- README.md
|
@@ -132,7 +133,7 @@ files:
|
|
132
133
|
homepage: http://seats.io
|
133
134
|
licenses: []
|
134
135
|
metadata: {}
|
135
|
-
post_install_message:
|
136
|
+
post_install_message:
|
136
137
|
rdoc_options: []
|
137
138
|
require_paths:
|
138
139
|
- lib
|
@@ -147,8 +148,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
147
148
|
- !ruby/object:Gem::Version
|
148
149
|
version: '0'
|
149
150
|
requirements: []
|
150
|
-
rubygems_version: 3.
|
151
|
-
signing_key:
|
151
|
+
rubygems_version: 3.1.2
|
152
|
+
signing_key:
|
152
153
|
specification_version: 4
|
153
154
|
summary: the official Seats.io Ruby client library
|
154
155
|
test_files: []
|
data/.travis.yml
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
rvm:
|
4
|
-
- 2.3.0
|
5
|
-
before_install: gem install bundler -v 1.16.1
|
6
|
-
notifications:
|
7
|
-
slack:
|
8
|
-
rooms:
|
9
|
-
- seatsio:AGaZISx4HlvoEx6WTbVaX50V
|
10
|
-
on_pull_requests: false
|
11
|
-
on_failure: always
|
12
|
-
on_success: change
|
13
|
-
deploy:
|
14
|
-
provider: rubygems
|
15
|
-
gem: seatsio
|
16
|
-
on:
|
17
|
-
tags: true
|
18
|
-
api_key:
|
19
|
-
secure: mQmsVgbIYF16i0rzDYQoOzcXwG8ppJl/czjTWf/KaEtSCWG5tQKBzflXFIkrfoP7EyjC+2TvT4Z5tWIBUVR4gG2KjcV2lGgq2vV/sVYrmUIXO2LZHBu5n35QHBF//0IOvbZMufm7W8PIVM6do1tMxdRE+qMZVtb5M9YIQpDHc6jXru/PKxOffwTNEWMVX1Xjfz4wtuJCpvhR+BHuBoi9uE4dyWrF5WgkL2aELUvHpUmc2wn0gGypqJ9Whrcxq8n3EREvO0kiSMww+MMdWd57ACo4q5J8Za+h4tXvVd49EyEdevjWMvT0wYx+nSz+/vk4B9vOmd5Un9/gzoLbq8qEpAgEHXKw/J6l9KHlJDMNy2dVsMzqSOceEtBx5LA0fizWD4U2XfI0GaiM5Rdt96iNtVlU9lQuiXPhcz7igEFVRSZAkzTNHlh0cAr2FJIBBh27fffrblF/xRw1ziLwDnjutTg8lZsxmdjTrnMkAAuNWMIXKzWvh7n2bZ+jqwzp5bSqp1ckOCae7ozsG1Kx1eS8pMepsvMtmb5w6dsuWGVAI8ASd8XmYFHKisKmi6xHYOGw7uy7yE7rXHa0Ypx/K4xKCoqhv+5Y7RdTvT2tkqC0mwMOh/Io2eslgjTA0vy87sVKyLTCU/ElKRTd2165cRL2JRNH3l/X0gxglT4WpXQEEXs=
|