files.com 1.0.133 → 1.0.138

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: d035ac320deed565de483766b7bd1132c09c9cda2cb9e3fca6ea315e218b22b3
4
- data.tar.gz: 411f29ad91d887b4fd5074b42e2b551fdccac61bf764022de32d1bd345f4ddfe
3
+ metadata.gz: ee93992620b1a364ee05b7064f7c180b10c10a44f343ef0d946c1c489538cd10
4
+ data.tar.gz: 2e13bdb3dde8aa1907ecab9e3ee0954a19b5e20fef0fc636a9859eacd8b183a2
5
5
  SHA512:
6
- metadata.gz: ad1e0300e759301679cc8c6125f02aa5e962a686a057b6a158f4a52e430e3b2fe3f1d8e4a33eed6a330298bfd248327d43e50a2e8e29e999765174a69b195026
7
- data.tar.gz: 2495ec0411de523c389c0e6fb3872ec6859bd3484666848f9a63c7697791ab9a001f221ac2a48cc274ca710736c1ef7bcd7495987d9436fa4c3f27c347d45909
6
+ metadata.gz: de65d0ca807e2d162205891478013b969e99b2c8cba34731eb967364bcf4d949f0ccec766517d4104c0a429c3257bab0e495b5b4eb395f1df68626ced81a463f
7
+ data.tar.gz: cf26395290eb7d9b7cf7f6b7155ff0d807f0da21c675120191c0ba702efefb5c52261314c63635709eedb947f29170621d1337496cdf8ae087e4e1496299e473
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.133
1
+ 1.0.138
data/build.sh ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ bundle install
4
+ bundle exec rubocop --ignore-parent-exclusion
5
+ bundle exec rspec
data/docs/app.md CHANGED
@@ -17,6 +17,8 @@
17
17
  "remote_server_type": "",
18
18
  "folder_behavior_type": "",
19
19
  "external_homepage_url": "",
20
+ "marketing_youtube_url": "",
21
+ "tutorial_youtube_url": "",
20
22
  "app_type": "",
21
23
  "featured": true
22
24
  }
@@ -33,6 +35,8 @@
33
35
  * `remote_server_type` (string): Associated Remote Server type, if any
34
36
  * `folder_behavior_type` (string): Associated Folder Behavior type, if any
35
37
  * `external_homepage_url` (string): Link to external homepage
38
+ * `marketing_youtube_url` (string): Marketing video page
39
+ * `tutorial_youtube_url` (string): Tutorial video page
36
40
  * `app_type` (string): The type of the App
37
41
  * `featured` (boolean): Is featured on the App listing?
38
42
 
data/docs/sso_strategy.md CHANGED
@@ -77,7 +77,7 @@
77
77
  * `provision_group_inclusion` (string): Comma-separated list of group names for groups (with optional wildcards) that will be auto-provisioned.
78
78
  * `provision_group_required` (string): Comma or newline separated list of group names (with optional wildcards) to require membership for user provisioning.
79
79
  * `provision_site_admin_groups` (string): Comma-separated list of group names whose members will be created as Site Admins.
80
- * `provision_attachments_permission` (boolean): Auto-provisioned users get Sharing permission?
80
+ * `provision_attachments_permission` (boolean): DEPRECATED: Auto-provisioned users get Sharing permission. Use a Group with the Bundle permission instead.
81
81
  * `provision_dav_permission` (boolean): Auto-provisioned users get WebDAV permission?
82
82
  * `provision_ftp_permission` (boolean): Auto-provisioned users get FTP permission?
83
83
  * `provision_sftp_permission` (boolean): Auto-provisioned users get SFTP permission?
data/docs/user.md CHANGED
@@ -60,7 +60,7 @@
60
60
  * `username` (string): User's username
61
61
  * `admin_group_ids` (array): List of group IDs of which this user is an administrator
62
62
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
63
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
63
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
64
64
  * `api_keys_count` (int64): Number of api keys associated with this user
65
65
  * `authenticate_until` (date-time): Scheduled Date/Time at which user will be deactivated
66
66
  * `authentication_method` (string): How is this user authenticated?
@@ -217,7 +217,7 @@ Files::User.create(
217
217
  * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
218
218
  * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
219
219
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
220
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
220
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
221
221
  * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
222
222
  * `authentication_method` (string): How is this user authenticated?
223
223
  * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
@@ -348,7 +348,7 @@ Files::User.update(id,
348
348
  * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
349
349
  * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
350
350
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
351
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
351
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
352
352
  * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
353
353
  * `authentication_method` (string): How is this user authenticated?
354
354
  * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
@@ -500,7 +500,7 @@ user.update(
500
500
  * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
501
501
  * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
502
502
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
503
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
503
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
504
504
  * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
505
505
  * `authentication_method` (string): How is this user authenticated?
506
506
  * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
@@ -277,16 +277,12 @@ module Files
277
277
  code: error_data[:code] || resp.http_status,
278
278
  }
279
279
 
280
- case resp.http_status
281
- when 400, 404
282
- InvalidRequestError.new(error_data[:message], opts)
283
- when 401
284
- AuthenticationError.new(error_data[:message], opts)
285
- when 403
286
- PermissionError.new(error_data[:message], opts)
287
- when 429
288
- RateLimitError.new(error_data[:message], opts)
289
- else
280
+ return APIError.new(error_data[:message], opts) unless resp&.data&.dig(:type)
281
+
282
+ begin
283
+ error_class = Files.const_get(resp.data[:type].split("/").map { |piece| piece.split("-").map(&:capitalize).join('') + 'Error' }.join("::"))
284
+ error_class.new(error_data[:message], opts)
285
+ rescue NameError
290
286
  APIError.new(error_data[:message], opts)
291
287
  end
292
288
  end
@@ -26,16 +26,163 @@ module Files
26
26
  end
27
27
  end
28
28
 
29
- class APIError < Error; end
29
+ class APIConnectionError < Error; end
30
30
  class AuthenticationError < Error; end
31
- class ConnectionError < Error; end
32
- class InvalidRequestError < Error; end
31
+ class InvalidParameterError < Error; end
32
+ class MissingParameterError < Error; end
33
33
  class NotImplementedError < Error; end
34
- class PermissionError < Error; end
35
- class RateLimitError < Error; end
36
- class TooManyRequestsError < Error; end
37
- class ValidationError < Error; end
38
34
 
39
- class InvalidParameterError < InvalidRequestError; end
40
- class MissingParameterError < InvalidRequestError; end
35
+ class APIError < Error
36
+ attr_reader :detail
37
+ attr_reader :error
38
+ attr_reader :errors
39
+ attr_reader :http_code
40
+ attr_reader :instance
41
+ attr_reader :model_errors
42
+ attr_reader :title
43
+ attr_reader :type
44
+
45
+ def initialize(message = nil, **kwargs)
46
+ @detail = kwargs.dig(:json_body, 'detail')
47
+ @error = kwargs.dig(:json_body, 'error')
48
+ @errors = kwargs.dig(:json_body, 'errors')
49
+ @http_code = kwargs.dig(:json_body, 'http-code')
50
+ @instance = kwargs.dig(:json_body, 'instance')
51
+ @model_errors = kwargs.dig(:json_body, 'model_errors')
52
+ @title = kwargs.dig(:json_body, 'title')
53
+ @type = kwargs.dig(:json_body, 'type')
54
+
55
+ super(message, **kwargs)
56
+ end
57
+ end
58
+
59
+ class ProcessingPendingError < APIError; end
60
+
61
+ class AccountInBadStandingError < APIError; end
62
+ class AccountOverdueError < AccountInBadStandingError; end
63
+
64
+ class BadRequestError < APIError; end
65
+ class AttachmentTooLargeError < BadRequestError; end
66
+ class CannotDownloadDirectoryError < BadRequestError; end
67
+ class CantMoveWithMultipleLocationsError < BadRequestError; end
68
+ class DatetimeParseError < BadRequestError; end
69
+ class DestinationSameError < BadRequestError; end
70
+ class FolderMustNotBeAFileError < BadRequestError; end
71
+ class InvalidFilterCombinationError < BadRequestError; end
72
+ class InvalidFilterFieldError < BadRequestError; end
73
+ class InvalidInputEncodingError < BadRequestError; end
74
+ class InvalidInterfaceError < BadRequestError; end
75
+ class InvalidOauthError < BadRequestError; end
76
+ class InvalidOauthProviderError < BadRequestError; end
77
+ class InvalidReturnToUrlError < BadRequestError; end
78
+ class InvalidUploadOffsetError < BadRequestError; end
79
+ class InvalidUsernameOrPasswordError < BadRequestError; end
80
+ class OperationOnNonScimResourceError < BadRequestError; end
81
+ class UnsupportedHttpResponseFormatError < BadRequestError; end
82
+ class UnsupportedMediaTypeError < BadRequestError; end
83
+ class UserIdInvalidError < BadRequestError; end
84
+ class UserIdOnUserEndpointError < BadRequestError; end
85
+ class UserRequiredError < BadRequestError; end
86
+
87
+ class InvalidParamsError < APIError; end
88
+ class InvalidCursorError < InvalidParamsError; end
89
+ class NoValidInputParamsError < InvalidParamsError; end
90
+ class ReauthenticationNeededFieldsError < InvalidParamsError; end
91
+ class RequestParamPathCannotHaveTrailingWhitespaceError < InvalidParamsError; end
92
+ class RequestParamsContainInvalidCharacterError < InvalidParamsError; end
93
+ class RequestParamsInvalidError < InvalidParamsError; end
94
+ class RequestParamsRequiredError < InvalidParamsError; end
95
+ class UnsupportedCurrencyError < InvalidParamsError; end
96
+
97
+ class LockedError < APIError; end
98
+ class FileLockedError < LockedError; end
99
+ class FolderLockedError < LockedError; end
100
+ class ResourceLockedError < LockedError; end
101
+ class SubfolderLockedError < LockedError; end
102
+
103
+ class NotAuthenticatedError < APIError; end
104
+ class OneTimePasswordIncorrectError < NotAuthenticatedError; end
105
+ class TwoFactorAuthenticationErrorError < NotAuthenticatedError; end
106
+ class TwoFactorAuthenticationRequiredError < NotAuthenticatedError; end
107
+ class TwoFactorAuthenticationSetupExpiredError < NotAuthenticatedError; end
108
+
109
+ class NotAuthorizedError < APIError; end
110
+ class ApiKeyIsDisabledError < NotAuthorizedError; end
111
+ class ApiKeyIsPathRestrictedError < NotAuthorizedError; end
112
+ class ApiKeyOnlyForDesktopAppError < NotAuthorizedError; end
113
+ class ApiKeyOnlyForOfficeIntegrationError < NotAuthorizedError; end
114
+ class AuthenticationRequiredError < NotAuthorizedError; end
115
+ class CannotLoginWhileUsingKeyError < NotAuthorizedError; end
116
+ class CantActForOtherUserError < NotAuthorizedError; end
117
+ class ContactAdminForPasswordChangeHelpError < NotAuthorizedError; end
118
+ class FolderAdminOrBillingPermissionError < NotAuthorizedError; end
119
+ class FolderAdminPermissionRequiredError < NotAuthorizedError; end
120
+ class HistoryExportNonAdminsMustQueryByFolderOrPathError < NotAuthorizedError; end
121
+ class HistoryPermissionRequiredError < NotAuthorizedError; end
122
+ class InsufficientPermissionForParamsError < NotAuthorizedError; end
123
+ class LockedOutError < NotAuthorizedError; end
124
+ class LockoutRegionMismatchError < NotAuthorizedError; end
125
+ class MustAuthenticateWithApiKeyError < NotAuthorizedError; end
126
+ class NeedAdminPermissionForInboxError < NotAuthorizedError; end
127
+ class NoBillingPermissionError < NotAuthorizedError; end
128
+ class NotAllowedToCreateBundleError < NotAuthorizedError; end
129
+ class PasswordChangeNotRequiredError < NotAuthorizedError; end
130
+ class PasswordChangeRequiredError < NotAuthorizedError; end
131
+ class ReadOnlySessionError < NotAuthorizedError; end
132
+ class ReadPermissionRequiredError < NotAuthorizedError; end
133
+ class ReauthenticationFailedError < NotAuthorizedError; end
134
+ class ReauthenticationFailedFinalError < NotAuthorizedError; end
135
+ class ReauthenticationNeededActionError < NotAuthorizedError; end
136
+ class SelfManagedRequiredError < NotAuthorizedError; end
137
+ class UnauthorizedError < NotAuthorizedError; end
138
+ class UserIdWithoutSiteAdminError < NotAuthorizedError; end
139
+ class WritePermissionRequiredError < NotAuthorizedError; end
140
+ class ZipDownloadIpMismatchError < NotAuthorizedError; end
141
+
142
+ class NotFoundError < APIError; end
143
+ class ApiKeyNotFoundError < NotFoundError; end
144
+ class BundlePathNotFoundError < NotFoundError; end
145
+ class CodeNotFoundError < NotFoundError; end
146
+ class FileNotFoundError < NotFoundError; end
147
+ class FileUploadNotFoundError < NotFoundError; end
148
+ class FolderNotFoundError < NotFoundError; end
149
+ class GroupNotFoundError < NotFoundError; end
150
+ class HistoryExportNotReadyError < NotFoundError; end
151
+ class InboxNotFoundError < NotFoundError; end
152
+ class NestedNotFoundError < NotFoundError; end
153
+ class PlanNotFoundError < NotFoundError; end
154
+ class SiteNotFoundError < NotFoundError; end
155
+ class UserNotFoundError < NotFoundError; end
156
+
157
+ class ProcessingFailureError < APIError; end
158
+ class BundleRegistrationCodeFailedError < ProcessingFailureError; end
159
+ class DestinationExistsError < ProcessingFailureError; end
160
+ class DestinationParentConflictError < ProcessingFailureError; end
161
+ class DestinationParentDoesNotExistError < ProcessingFailureError; end
162
+ class FailedToChangePasswordError < ProcessingFailureError; end
163
+ class FileNotUploadedError < ProcessingFailureError; end
164
+ class FolderNotEmptyError < ProcessingFailureError; end
165
+ class HistoryExportFailureError < ProcessingFailureError; end
166
+ class HistoryUnavailableError < ProcessingFailureError; end
167
+ class InboxRegistrationCodeFailedError < ProcessingFailureError; end
168
+ class InvalidBundleCodeError < ProcessingFailureError; end
169
+ class InvalidOrExpiredCodeError < ProcessingFailureError; end
170
+ class ModelSaveErrorError < ProcessingFailureError; end
171
+ class RemoteServerErrorError < ProcessingFailureError; end
172
+ class TwoFactorAuthenticationCodeAlreadySentError < ProcessingFailureError; end
173
+ class UnprocessableEntityError < ProcessingFailureError; end
174
+
175
+ class RateLimitedError < APIError; end
176
+ class ReauthenticationRateLimitedError < RateLimitedError; end
177
+ class TooManyLoginAttemptsError < RateLimitedError; end
178
+ class TooManyRequestsError < RateLimitedError; end
179
+
180
+ class SiteConfigurationError < APIError; end
181
+ class AccountAlreadyExistsError < SiteConfigurationError; end
182
+ class NoAccountForSiteError < SiteConfigurationError; end
183
+ class SiteAdminRequiredError < SiteConfigurationError; end
184
+ class SiteWasRemovedError < SiteConfigurationError; end
185
+ class TrialExpiredError < SiteConfigurationError; end
186
+ class TrialLockedError < SiteConfigurationError; end
187
+ class UserRequestsEnabledRequiredError < SiteConfigurationError; end
41
188
  end
@@ -64,6 +64,16 @@ module Files
64
64
  @attributes[:external_homepage_url]
65
65
  end
66
66
 
67
+ # string - Marketing video page
68
+ def marketing_youtube_url
69
+ @attributes[:marketing_youtube_url]
70
+ end
71
+
72
+ # string - Tutorial video page
73
+ def tutorial_youtube_url
74
+ @attributes[:tutorial_youtube_url]
75
+ end
76
+
67
77
  # string - The type of the App
68
78
  def app_type
69
79
  @attributes[:app_type]
@@ -139,7 +139,7 @@ module Files
139
139
  @attributes[:provision_site_admin_groups]
140
140
  end
141
141
 
142
- # boolean - Auto-provisioned users get Sharing permission?
142
+ # boolean - DEPRECATED: Auto-provisioned users get Sharing permission. Use a Group with the Bundle permission instead.
143
143
  def provision_attachments_permission
144
144
  @attributes[:provision_attachments_permission]
145
145
  end
@@ -45,7 +45,7 @@ module Files
45
45
  @attributes[:allowed_ips] = value
46
46
  end
47
47
 
48
- # boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
48
+ # boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
49
49
  def attachments_permission
50
50
  @attributes[:attachments_permission]
51
51
  end
@@ -555,7 +555,7 @@ module Files
555
555
  # password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
556
556
  # announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
557
557
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
558
- # attachments_permission - boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
558
+ # attachments_permission - boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
559
559
  # authenticate_until - string - Scheduled Date/Time at which user will be deactivated
560
560
  # authentication_method - string - How is this user authenticated?
561
561
  # billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
@@ -713,7 +713,7 @@ module Files
713
713
  # password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
714
714
  # announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
715
715
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
716
- # attachments_permission - boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
716
+ # attachments_permission - boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
717
717
  # authenticate_until - string - Scheduled Date/Time at which user will be deactivated
718
718
  # authentication_method - string - How is this user authenticated?
719
719
  # billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
@@ -820,7 +820,7 @@ module Files
820
820
  # password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
821
821
  # announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
822
822
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
823
- # attachments_permission - boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
823
+ # attachments_permission - boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
824
824
  # authenticate_until - string - Scheduled Date/Time at which user will be deactivated
825
825
  # authentication_method - string - How is this user authenticated?
826
826
  # billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
data/lib/files.com/uri.rb CHANGED
@@ -34,17 +34,11 @@ module Files
34
34
  # here we need to, so switch to ASCII.
35
35
  component = component.dup
36
36
  component.force_encoding(Encoding::ASCII_8BIT)
37
- unencoded = Addressable::URI.unencode_component(component, String, leave_encoded)
38
- begin
39
- encoded = Addressable::URI.encode_component(
40
- # Addressable::IDNA.unicode_normalize_kc(unencoded),
41
- unencoded,
42
- character_class,
43
- leave_encoded
44
- )
45
- rescue ArgumentError
46
- encoded = encode_component(unencoded)
47
- end
37
+ encoded = Addressable::URI.encode_component(
38
+ component,
39
+ character_class,
40
+ leave_encoded
41
+ )
48
42
  encoded.force_encoding(Encoding::UTF_8)
49
43
  encoded
50
44
  end
data/spec/uri_spec.rb CHANGED
@@ -2,10 +2,14 @@ require "spec_helper"
2
2
 
3
3
  RSpec.describe Files::URI do
4
4
  describe "normalized_path" do
5
- it { expect(described_class.normalized_path("[[strange stuff]]#yes.text")).to eq("%5B%5Bstrange%20stuff%5D%5D%23yes.text") }
5
+ it { expect(described_class.normalized_path("path/[[strange stuff]]#yes.text")).to eq("path/%5B%5Bstrange%20stuff%5D%5D%23yes.text") }
6
6
  it { expect(Addressable::URI.unencode_component(described_class.normalized_path("[[strange stuff]]#yes.text"))).to eq("[[strange stuff]]#yes.text") }
7
7
 
8
8
  it { expect(described_class.normalized_path("folder/AdÇe")).to eq("folder/AdC%CC%A7e") }
9
9
  it { expect(Addressable::URI.unencode_component(described_class.normalized_path("AdÇe"))).to eq("AdÇe") }
10
+
11
+ it { expect(described_class.normalized_path("lorem%20ipsum.txt")).to eq("lorem%2520ipsum.txt") }
12
+ it { expect(described_class.normalized_path("lorem%ipsum.txt")).to eq("lorem%25ipsum.txt") }
13
+ it { expect(described_class.normalized_path("lorem ipsum.txt")).to eq("lorem%20ipsum.txt") }
10
14
  end
11
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.133
4
+ version: 1.0.138
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-21 00:00:00.000000000 Z
11
+ date: 2021-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -85,6 +85,7 @@ files:
85
85
  - _VERSION
86
86
  - bin/files
87
87
  - bin/files-console
88
+ - build.sh
88
89
  - docs/account_line_item.md
89
90
  - docs/action.md
90
91
  - docs/api_key.md