seatsio 22 → 23.7.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/.ruby-version +1 -0
- data/Gemfile.lock +4 -4
- data/README.md +8 -11
- data/Rakefile +7 -0
- data/lib/seatsio.rb +1 -3
- data/lib/seatsio/domain.rb +53 -41
- data/lib/seatsio/events.rb +18 -1
- data/lib/seatsio/events/change_object_status_in_batch_request.rb +6 -0
- data/lib/seatsio/version.rb +1 -1
- data/lib/seatsio/workspaces.rb +5 -0
- data/seatsio.gemspec +1 -1
- metadata +6 -5
- data/lib/seatsio/accounts.rb +0 -20
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e0a832bc8680b57d66e65becb775ddfdd971d08be16a8161b79bf0a217543db
|
4
|
+
data.tar.gz: c40d677bd0dea2bde3c492408c09a2cc79f3fcb8518d439c68f17f65f1c3c419
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48d9cc13e42919696a9bcf58b5d0c05016049e3930db5f0a3499f42bc86d2a6400a85da2d0e761883e507b5623a8e8b87befe1c81217865c575a446b567072b8
|
7
|
+
data.tar.gz: 68da6c6511e13ae20d77471c67da82d7d962db355852c91a5d9342b24a885c9f67ae98a2a70adbd68b86eb5c4822e0d4e22f89c649100426d9f9396b087b8a78
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.3.0
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
seatsio (
|
4
|
+
seatsio (23.7.0)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -21,7 +21,7 @@ GEM
|
|
21
21
|
minitest (5.11.3)
|
22
22
|
netrc (0.11.0)
|
23
23
|
public_suffix (3.1.0)
|
24
|
-
rake (
|
24
|
+
rake (13.0.1)
|
25
25
|
rest-client (2.0.2)
|
26
26
|
http-cookie (>= 1.0.2, < 2.0)
|
27
27
|
mime-types (>= 1.16, < 4.0)
|
@@ -41,10 +41,10 @@ PLATFORMS
|
|
41
41
|
DEPENDENCIES
|
42
42
|
bundler (~> 1.16)
|
43
43
|
minitest (~> 5.0)
|
44
|
-
rake (~>
|
44
|
+
rake (~> 13.0)
|
45
45
|
rest-client (~> 2.0, >= 2.0.2)
|
46
46
|
seatsio!
|
47
47
|
webmock (~> 3.4, >= 3.4.2)
|
48
48
|
|
49
49
|
BUNDLED WITH
|
50
|
-
1.17.
|
50
|
+
1.17.2
|
data/README.md
CHANGED
@@ -4,12 +4,9 @@
|
|
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
|
|
7
|
+
## Versioning
|
7
8
|
|
8
|
-
|
9
|
-
|
10
|
-
seatsio-ruby only uses major version numbers: v5, v6, v7 etc. Each release - backwards compatible or not - receives a new major version number.
|
11
|
-
|
12
|
-
The reason: we want to play safe and assume that each release might break backwards compatibility.
|
9
|
+
seatsio-ruby follows semver since v23.3.0.
|
13
10
|
|
14
11
|
## Examples
|
15
12
|
|
@@ -17,7 +14,7 @@ The reason: we want to play safe and assume that each release might break backwa
|
|
17
14
|
|
18
15
|
```ruby
|
19
16
|
require('seatsio')
|
20
|
-
client = Seatsio::Client.new("my-secret-key") # can be found on https://app.seats.io/settings
|
17
|
+
client = Seatsio::Client.new("my-workspace-secret-key") # can be found on https://app.seats.io/workspace-settings
|
21
18
|
chart = client.charts.create
|
22
19
|
event = client.events.create key: chart.key
|
23
20
|
```
|
@@ -26,7 +23,7 @@ event = client.events.create key: chart.key
|
|
26
23
|
|
27
24
|
```ruby
|
28
25
|
require('seatsio')
|
29
|
-
client = Seatsio::Client.new("my-secret-key")
|
26
|
+
client = Seatsio::Client.new("my-workspace-secret-key")
|
30
27
|
client.events.book(event.key, ["A-1", "A-2"])
|
31
28
|
```
|
32
29
|
|
@@ -34,7 +31,7 @@ client.events.book(event.key, ["A-1", "A-2"])
|
|
34
31
|
|
35
32
|
```ruby
|
36
33
|
require('seatsio')
|
37
|
-
client = Seatsio::Client.new("my-secret-key")
|
34
|
+
client = Seatsio::Client.new("my-workspace-secret-key")
|
38
35
|
client.events.release(event.key, ["A-1", "A-2"])
|
39
36
|
```
|
40
37
|
|
@@ -42,7 +39,7 @@ client.events.release(event.key, ["A-1", "A-2"])
|
|
42
39
|
|
43
40
|
```ruby
|
44
41
|
require('seatsio')
|
45
|
-
client = Seatsio::Client.new("my-secret-key")
|
42
|
+
client = Seatsio::Client.new("my-workspace-secret-key")
|
46
43
|
client.events.book(event.key, ["A-1", "A-2"], "a-hold-token")
|
47
44
|
```
|
48
45
|
|
@@ -50,7 +47,7 @@ client.events.book(event.key, ["A-1", "A-2"], "a-hold-token")
|
|
50
47
|
|
51
48
|
```ruby
|
52
49
|
require('seatsio')
|
53
|
-
client = Seatsio::Client.new("my-secret-key")
|
50
|
+
client = Seatsio::Client.new("my-workspace-secret-key")
|
54
51
|
client.events.change_object_status("<EVENT KEY>", ["A-1", "A-2"], "my-custom-status")
|
55
52
|
```
|
56
53
|
|
@@ -58,7 +55,7 @@ client.events.change_object_status("
|
|
58
55
|
|
59
56
|
```ruby
|
60
57
|
require('seatsio')
|
61
|
-
client = Seatsio::Client.new("my-secret-key")
|
58
|
+
client = Seatsio::Client.new("my-workspace-secret-key")
|
62
59
|
charts = client.charts.list
|
63
60
|
charts.each do |chart|
|
64
61
|
puts chart.key
|
data/Rakefile
CHANGED
@@ -8,4 +8,11 @@ Rake::TestTask.new(:test) do |t|
|
|
8
8
|
t.warning = false
|
9
9
|
end
|
10
10
|
|
11
|
+
Rake::TestTask.new(:singletest) do |t|
|
12
|
+
t.libs << "test"
|
13
|
+
t.libs << "lib"
|
14
|
+
t.test_files = FileList["test/**/update_channels_test.rb", "test/**/assign_objects_to_channels_test.rb"]
|
15
|
+
t.warning = false
|
16
|
+
end
|
17
|
+
|
11
18
|
task :default => :test
|
data/lib/seatsio.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'seatsio/version'
|
2
2
|
require 'seatsio/charts'
|
3
|
-
require 'seatsio/accounts'
|
4
3
|
require 'seatsio/subaccounts'
|
5
4
|
require 'seatsio/workspaces'
|
6
5
|
require 'seatsio/events'
|
@@ -12,12 +11,11 @@ require 'seatsio/usage_reports'
|
|
12
11
|
module Seatsio
|
13
12
|
# Main Seatsio Class
|
14
13
|
class Client
|
15
|
-
attr_reader :charts, :
|
14
|
+
attr_reader :charts, :subaccounts, :workspaces, :events,
|
16
15
|
:hold_tokens, :chart_reports, :event_reports, :usage_reports
|
17
16
|
|
18
17
|
def initialize(secret_key, workspace_key = nil, base_url = 'https://api.seatsio.net')
|
19
18
|
@charts = ChartsClient.new(secret_key, workspace_key, base_url)
|
20
|
-
@accounts = AccountsClient.new(secret_key, workspace_key, base_url)
|
21
19
|
@subaccounts = SubaccountsClient.new(secret_key, workspace_key, base_url)
|
22
20
|
@workspaces = WorkspacesClient.new(secret_key, base_url)
|
23
21
|
@events = EventsClient.new(secret_key, workspace_key, base_url)
|
data/lib/seatsio/domain.rb
CHANGED
@@ -71,10 +71,31 @@ module Seatsio::Domain
|
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
|
+
class Channel
|
75
|
+
attr_reader :key, :name, :color, :index, :objects
|
76
|
+
|
77
|
+
def initialize(key, name, color, index, objects)
|
78
|
+
@key = key
|
79
|
+
@name = name
|
80
|
+
@color = color
|
81
|
+
@index = index
|
82
|
+
@objects = objects
|
83
|
+
end
|
84
|
+
|
85
|
+
def == (other)
|
86
|
+
self.key == other.key &&
|
87
|
+
self.name == other.name &&
|
88
|
+
self.color == other.color &&
|
89
|
+
self.index == other.index &&
|
90
|
+
self.objects == other.objects
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
74
95
|
class Event
|
75
96
|
|
76
97
|
attr_accessor :id, :key, :chart_key, :book_whole_tables, :supports_best_available,
|
77
|
-
:table_booking_modes, :for_sale_config, :created_on, :updated_on
|
98
|
+
:table_booking_modes, :for_sale_config, :created_on, :updated_on, :channels
|
78
99
|
|
79
100
|
def initialize(data)
|
80
101
|
@id = data['id']
|
@@ -86,6 +107,9 @@ module Seatsio::Domain
|
|
86
107
|
@for_sale_config = ForSaleConfig.new(data['forSaleConfig']) if data['forSaleConfig']
|
87
108
|
@created_on = parse_date(data['createdOn'])
|
88
109
|
@updated_on = parse_date(data['updatedOn'])
|
110
|
+
@channels = data['channels'].map {
|
111
|
+
|d| Channel.new(d['key'], d['name'], d['color'], d['index'], d['objects'])
|
112
|
+
} if data['channels']
|
89
113
|
end
|
90
114
|
|
91
115
|
def self.create_list(list = [])
|
@@ -118,48 +142,16 @@ module Seatsio::Domain
|
|
118
142
|
end
|
119
143
|
end
|
120
144
|
|
121
|
-
class
|
122
|
-
attr_reader :
|
123
|
-
:validate_unlabeled_objects
|
124
|
-
|
125
|
-
def initialize(data)
|
126
|
-
@validate_duplicate_labels = data['VALIDATE_DUPLICATE_LABELS']
|
127
|
-
@validate_objects_without_categories = data['VALIDATE_OBJECTS_WITHOUT_CATEGORIES']
|
128
|
-
@validate_unlabeled_objects = data['VALIDATE_UNLABELED_OBJECTS']
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
class AccountSettings
|
133
|
-
attr_reader :draft_chart_drawings_enabled, :hold_on_select_for_gas, :chart_validation
|
134
|
-
|
135
|
-
def initialize(data)
|
136
|
-
@draft_chart_drawings_enabled = data['draftChartDrawingsEnabled']
|
137
|
-
@hold_on_select_for_gas = data['holdOnSelectForGAs']
|
138
|
-
@chart_validation = ChartValidationSettings.new(data['chartValidation'])
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
class Account
|
143
|
-
attr_reader :id, :secret_key, :designer_key, :name,
|
144
|
-
:email, :active, :settings
|
145
|
+
class Subaccount
|
146
|
+
attr_reader :id, :secret_key, :designer_key, :public_key, :name, :active
|
145
147
|
|
146
148
|
def initialize(data)
|
147
149
|
@id = data['id']
|
150
|
+
@public_key = data['publicKey']
|
148
151
|
@secret_key = data['secretKey']
|
149
152
|
@designer_key = data['designerKey']
|
150
153
|
@name = data['name']
|
151
|
-
@email = data['email']
|
152
154
|
@active = data['active']
|
153
|
-
@settings = AccountSettings.new(data['settings']) if data['settings'] != nil
|
154
|
-
end
|
155
|
-
end
|
156
|
-
|
157
|
-
class Subaccount < Account
|
158
|
-
attr_reader :public_key, :workspace
|
159
|
-
|
160
|
-
def initialize(data)
|
161
|
-
super
|
162
|
-
@public_key = data['publicKey']
|
163
155
|
end
|
164
156
|
end
|
165
157
|
|
@@ -203,6 +195,15 @@ module Seatsio::Domain
|
|
203
195
|
end
|
204
196
|
end
|
205
197
|
|
198
|
+
class ChangeObjectStatusInBatchResult
|
199
|
+
|
200
|
+
attr_reader :results
|
201
|
+
|
202
|
+
def initialize(data)
|
203
|
+
@results = data['results'].map { |r| ChangeObjectStatusResult.new(r) }
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
206
207
|
class HoldToken
|
207
208
|
|
208
209
|
attr_reader :hold_token, :expires_at, :expires_in_seconds, :workspace_key
|
@@ -228,7 +229,8 @@ module Seatsio::Domain
|
|
228
229
|
|
229
230
|
class ChartReportItem
|
230
231
|
|
231
|
-
attr_reader :label, :labels, :category_key, :category_label, :section, :entrance, :capacity, :object_type
|
232
|
+
attr_reader :label, :labels, :category_key, :category_label, :section, :entrance, :capacity, :object_type,
|
233
|
+
:left_neighbour, :right_neighbour
|
232
234
|
|
233
235
|
def initialize(data)
|
234
236
|
@label = data['label']
|
@@ -239,6 +241,8 @@ module Seatsio::Domain
|
|
239
241
|
@entrance = data['entrance']
|
240
242
|
@capacity = data['capacity']
|
241
243
|
@object_type = data['objectType']
|
244
|
+
@left_neighbour = data['leftNeighbour']
|
245
|
+
@right_neighbour = data['rightNeighbour']
|
242
246
|
end
|
243
247
|
end
|
244
248
|
|
@@ -287,7 +291,9 @@ module Seatsio::Domain
|
|
287
291
|
class EventReportItem
|
288
292
|
attr_reader :labels, :label, :order_id, :extra_data, :capacity, :status,
|
289
293
|
:category_key, :entrance, :object_type, :hold_token, :category_label,
|
290
|
-
:ticket_type, :num_booked, :num_free, :num_held, :for_sale, :section
|
294
|
+
:ticket_type, :num_booked, :num_free, :num_held, :for_sale, :section,
|
295
|
+
:is_accessible, :is_companion_seat, :has_restricted_view, :displayed_object_type,
|
296
|
+
:left_neighbour, :right_neighbour
|
291
297
|
|
292
298
|
def initialize(data)
|
293
299
|
@status = data['status']
|
@@ -307,6 +313,12 @@ module Seatsio::Domain
|
|
307
313
|
@capacity = data['capacity']
|
308
314
|
@object_type = data['objectType']
|
309
315
|
@extra_data = data['extraData']
|
316
|
+
@is_accessible = data['isAccessible']
|
317
|
+
@is_companion_seat = data['isCompanionSeat']
|
318
|
+
@has_restricted_view = data['hasRestrictedView']
|
319
|
+
@displayed_object_type = data['displayedObjectType']
|
320
|
+
@left_neighbour = data['leftNeighbour']
|
321
|
+
@right_neighbour = data['rightNeighbour']
|
310
322
|
end
|
311
323
|
end
|
312
324
|
|
@@ -338,7 +350,7 @@ module Seatsio::Domain
|
|
338
350
|
|
339
351
|
def initialize(data)
|
340
352
|
@subaccount = data['subaccount'] ? UsageSubaccount.new(data['subaccount']) : nil
|
341
|
-
@usage_by_chart = data['usageByChart'].map {|usage| UsageByChart.new(usage)}
|
353
|
+
@usage_by_chart = data['usageByChart'].map { |usage| UsageByChart.new(usage) }
|
342
354
|
end
|
343
355
|
end
|
344
356
|
|
@@ -356,8 +368,8 @@ module Seatsio::Domain
|
|
356
368
|
attr_reader :chart, :usage_by_event
|
357
369
|
|
358
370
|
def initialize(data)
|
359
|
-
@chart = data['chart'] ? UsageChart.new(data['chart']) :
|
360
|
-
@usage_by_event = data['usageByEvent'].map {|usage| UsageByEvent.new(usage)}
|
371
|
+
@chart = data['chart'] ? UsageChart.new(data['chart']) : nil
|
372
|
+
@usage_by_event = data['usageByEvent'].map { |usage| UsageByEvent.new(usage) }
|
361
373
|
end
|
362
374
|
end
|
363
375
|
|
data/lib/seatsio/events.rb
CHANGED
@@ -59,12 +59,21 @@ module Seatsio
|
|
59
59
|
def change_object_status(event_key_or_keys, object_or_objects, status, hold_token = nil, order_id = nil, keep_extra_data = nil)
|
60
60
|
request = create_change_object_status_request(object_or_objects, status, hold_token, order_id, event_key_or_keys, keep_extra_data)
|
61
61
|
request[:params] = {
|
62
|
-
|
62
|
+
:expand => 'objects'
|
63
63
|
}
|
64
64
|
response = @http_client.post("seasons/actions/change-object-status", request)
|
65
65
|
Domain::ChangeObjectStatusResult.new(response)
|
66
66
|
end
|
67
67
|
|
68
|
+
def change_object_status_in_batch(status_change_requests)
|
69
|
+
request = {
|
70
|
+
:statusChanges => status_change_requests,
|
71
|
+
:params => { :expand => 'objects' }
|
72
|
+
}
|
73
|
+
response = @http_client.post("events/actions/change-object-status", request)
|
74
|
+
Domain::ChangeObjectStatusInBatchResult.new(response).results
|
75
|
+
end
|
76
|
+
|
68
77
|
def hold(event_key_or_keys, object_or_objects, hold_token, order_id = nil, keep_extra_data = nil)
|
69
78
|
change_object_status(event_key_or_keys, object_or_objects, Domain::ObjectStatus::HELD, hold_token, order_id, keep_extra_data)
|
70
79
|
end
|
@@ -127,6 +136,14 @@ module Seatsio
|
|
127
136
|
@http_client.post("events/#{key}/actions/mark-as-for-sale", request)
|
128
137
|
end
|
129
138
|
|
139
|
+
def update_channels(key:, channels:)
|
140
|
+
@http_client.post("events/#{key}/channels/update", channels: channels)
|
141
|
+
end
|
142
|
+
|
143
|
+
def assign_objects_to_channels(key:, channelConfig:)
|
144
|
+
@http_client.post("events/#{key}/channels/assign-objects", channelConfig: channelConfig)
|
145
|
+
end
|
146
|
+
|
130
147
|
private
|
131
148
|
|
132
149
|
def build_parameters_for_mark_as_sale(objects: nil, categories: nil)
|
@@ -0,0 +1,6 @@
|
|
1
|
+
def create_change_object_status_in_batch_request(event_key, object_or_objects, status, hold_token = nil , order_id = nil, keep_extra_data = nil)
|
2
|
+
result = create_change_object_status_request(object_or_objects, status, hold_token, order_id, '', keep_extra_data)
|
3
|
+
result.delete(:events)
|
4
|
+
result[:event] = event_key
|
5
|
+
result
|
6
|
+
end
|
data/lib/seatsio/version.rb
CHANGED
data/lib/seatsio/workspaces.rb
CHANGED
@@ -27,6 +27,11 @@ module Seatsio
|
|
27
27
|
@http_client.post("workspaces/#{key}", body)
|
28
28
|
end
|
29
29
|
|
30
|
+
def regenerate_secret_key(key:)
|
31
|
+
response = @http_client.post("workspaces/#{key}/actions/regenerate-secret-key")
|
32
|
+
response['secretKey']
|
33
|
+
end
|
34
|
+
|
30
35
|
def list(filter: nil)
|
31
36
|
extended_cursor = cursor
|
32
37
|
extended_cursor.set_query_param('filter', filter)
|
data/seatsio.gemspec
CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.16"
|
24
|
-
spec.add_development_dependency "rake", "~>
|
24
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
25
25
|
spec.add_development_dependency "minitest", "~> 5.0"
|
26
26
|
spec.add_development_dependency "rest-client", '~> 2.0', '>= 2.0.2'
|
27
27
|
spec.add_development_dependency 'webmock', '~> 3.4', '>= 3.4.2'
|
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: 23.7.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-
|
11
|
+
date: 2020-06-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '13.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '13.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -101,6 +101,7 @@ extra_rdoc_files: []
|
|
101
101
|
files:
|
102
102
|
- ".editorconfig"
|
103
103
|
- ".gitignore"
|
104
|
+
- ".ruby-version"
|
104
105
|
- ".travis.yml"
|
105
106
|
- Gemfile
|
106
107
|
- Gemfile.lock
|
@@ -109,13 +110,13 @@ files:
|
|
109
110
|
- bin/console
|
110
111
|
- bin/setup
|
111
112
|
- lib/seatsio.rb
|
112
|
-
- lib/seatsio/accounts.rb
|
113
113
|
- lib/seatsio/chart_reports.rb
|
114
114
|
- lib/seatsio/charts.rb
|
115
115
|
- lib/seatsio/domain.rb
|
116
116
|
- lib/seatsio/event_reports.rb
|
117
117
|
- lib/seatsio/events.rb
|
118
118
|
- lib/seatsio/events/change_best_available_object_status_request.rb
|
119
|
+
- lib/seatsio/events/change_object_status_in_batch_request.rb
|
119
120
|
- lib/seatsio/events/change_object_status_request.rb
|
120
121
|
- lib/seatsio/exception.rb
|
121
122
|
- lib/seatsio/hold_tokens.rb
|
data/lib/seatsio/accounts.rb
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
require "seatsio/exception"
|
2
|
-
require "base64"
|
3
|
-
require "seatsio/httpClient"
|
4
|
-
require "seatsio/domain"
|
5
|
-
require "json"
|
6
|
-
require "cgi"
|
7
|
-
require "seatsio/domain"
|
8
|
-
|
9
|
-
module Seatsio
|
10
|
-
class AccountsClient
|
11
|
-
def initialize(secret_key, workspace_key, base_url)
|
12
|
-
@http_client = ::Seatsio::HttpClient.new(secret_key, workspace_key, base_url)
|
13
|
-
end
|
14
|
-
|
15
|
-
def retrieve_my_account
|
16
|
-
response = @http_client.get('accounts/me')
|
17
|
-
Domain::Account.new(response)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|