seatsio 20 → 21

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: 053120a25790822d3ce402791d06fbc1ffd3c9125c68c848127e7b27561e3ff8
4
- data.tar.gz: 5f18fd7ce220d832faddef356bfdf2769c3d7b9f40ac9ecdbe4f3ab63453ed5c
3
+ metadata.gz: 0efd53d02797a0dc35874cdf430a8fa2fe0e45c4f0c592a8c9efa093e6020e27
4
+ data.tar.gz: 4420d624b4ee1e5f97a8cf42a726b307dd22a471fb87d0fd26d656a62903879b
5
5
  SHA512:
6
- metadata.gz: ed22422f34f21014dca0c72d65030637e447bdc6eaba388444e7ca23f28962b808af651b9c6e81a95ff050ce6f94ec8bb4ea9e9c9f7a16a6c48e9f883be4ed67
7
- data.tar.gz: d289aa5f212d7f92abcfdde64e052ef565ecd392c1af810a61dbde52e79faa80f25f2ad27b532cc930fb7059f1b1460063d1ea2f538a62f14fafd99ab8c607e9
6
+ metadata.gz: df4518ac117823488b0785dfc52efb2892deccc95e8872b23bda335b208bf53e6ba16e7c0664fb4fd1aba4cf7a837e3a039c2117426333e524abb5083511044e
7
+ data.tar.gz: 32d8262e77c1cfdc63a76e555c4fa79a6ff73a337dc65a7590cc5d1c184085e6be43cb1205e07ee6c662b477c3c47ad29a8389f8d04e79523c897f42a394aa3f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- seatsio (20)
4
+ seatsio (21)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/seatsio.rb CHANGED
@@ -2,6 +2,7 @@ require 'seatsio/version'
2
2
  require 'seatsio/charts'
3
3
  require 'seatsio/accounts'
4
4
  require 'seatsio/subaccounts'
5
+ require 'seatsio/workspaces'
5
6
  require 'seatsio/events'
6
7
  require 'seatsio/hold_tokens'
7
8
  require 'seatsio/chart_reports'
@@ -11,13 +12,14 @@ require 'seatsio/usage_reports'
11
12
  module Seatsio
12
13
  # Main Seatsio Class
13
14
  class Client
14
- attr_reader :charts, :accounts, :subaccounts, :events,
15
+ attr_reader :charts, :accounts, :subaccounts, :workspaces, :events,
15
16
  :hold_tokens, :chart_reports, :event_reports, :usage_reports
16
17
 
17
18
  def initialize(secret_key, workspace_key = nil, base_url = 'https://api.seatsio.net')
18
19
  @charts = ChartsClient.new(secret_key, workspace_key, base_url)
19
20
  @accounts = AccountsClient.new(secret_key, workspace_key, base_url)
20
21
  @subaccounts = SubaccountsClient.new(secret_key, workspace_key, base_url)
22
+ @workspaces = WorkspacesClient.new(secret_key, base_url)
21
23
  @events = EventsClient.new(secret_key, workspace_key, base_url)
22
24
  @hold_tokens = HoldTokensClient.new(secret_key, workspace_key, base_url)
23
25
  @chart_reports = ChartReportsClient.new(secret_key, workspace_key, base_url)
@@ -160,16 +160,18 @@ module Seatsio::Domain
160
160
  def initialize(data)
161
161
  super
162
162
  @public_key = data['publicKey']
163
- @workspace = Workspace.new(data['workspace']) if data['workspace'] != nil
164
163
  end
165
164
  end
166
165
 
167
166
  class Workspace
168
- attr_reader :id, :key
167
+ attr_reader :id, :name, :key, :secret_key, :is_test
169
168
 
170
169
  def initialize(data)
171
170
  @id = data['id']
171
+ @name = data['name']
172
172
  @key = data['key']
173
+ @secret_key = data['secretKey']
174
+ @is_test = data['isTest']
173
175
  end
174
176
  end
175
177
 
@@ -1,3 +1,3 @@
1
1
  module Seatsio
2
- VERSION = "20"
2
+ VERSION = "21"
3
3
  end
@@ -0,0 +1,47 @@
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 WorkspacesClient
11
+ def initialize(secret_key, base_url)
12
+ @http_client = ::Seatsio::HttpClient.new(secret_key, nil, base_url)
13
+ end
14
+
15
+ def create(name:, is_test: nil)
16
+ body = {}
17
+ body['name'] = name
18
+ body['isTest'] = is_test if is_test
19
+
20
+ response = @http_client.post("workspaces", body)
21
+ Domain::Workspace.new(response)
22
+ end
23
+
24
+ def update(key:, name:)
25
+ body = {}
26
+ body['name'] = name
27
+ @http_client.post("workspaces/#{key}", body)
28
+ end
29
+
30
+ def list(filter: nil)
31
+ extended_cursor = cursor
32
+ extended_cursor.set_query_param('filter', filter)
33
+ extended_cursor
34
+ end
35
+
36
+ def retrieve(key:)
37
+ response = @http_client.get("/workspaces/#{key}")
38
+ Domain::Workspace.new(response)
39
+ end
40
+
41
+ private
42
+
43
+ def cursor()
44
+ Pagination::Cursor.new(Domain::Workspace, 'workspaces', @http_client)
45
+ end
46
+ end
47
+ 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: '20'
4
+ version: '21'
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-02-04 00:00:00.000000000 Z
11
+ date: 2020-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -139,6 +139,7 @@ files:
139
139
  - lib/seatsio/usage_reports.rb
140
140
  - lib/seatsio/util.rb
141
141
  - lib/seatsio/version.rb
142
+ - lib/seatsio/workspaces.rb
142
143
  - releasing.md
143
144
  - seatsio.gemspec
144
145
  homepage: http://seats.io