files.com 1.0.134 → 1.0.135

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d09ff92ef54d2ff2b07c7677e9998262d07534c2f1970fec953066b6c646f769
4
- data.tar.gz: 11d4e18d9ab273f09c9170dd6e12dc8ca5b55c17914df0764681c884d6a3fbc1
3
+ metadata.gz: ccb28d4c84b10799be2a3dcff04ba20905fc345e5cb55eb4de5835b4a41dc28b
4
+ data.tar.gz: 0725050ba80223d42bc5308251cbf3369e03d3467174dc859162f02d11c27a87
5
5
  SHA512:
6
- metadata.gz: 4f40491abab773ec451d0a880b4870a1bcb9796e4b5ee67c5fa2481cc0cfd10855c12d6bd460736541271b4a70300809caf10f4fb1d8f229236025a21ee0de6b
7
- data.tar.gz: c0d39193c030c2004a0f2859142322ece43bec229aea4fcf6b47f05a998242aa055044ef78ded5da996e689f9c3f76e2459dbdb92f08fd39c93ee8025972e3e2
6
+ metadata.gz: 19a2a75b5cf51cadfde6273e77c0b15a80ba232107e8b4dd30d4ee79345cd3255a0592d305bf1abaabaac1575482d0e42ed8b89a4dd26e3919b3d463feb39ad6
7
+ data.tar.gz: 7f169810b745da556da7edf365c23bd1b3d99ad07d932240939f1fb22878e21922cb1610ad64414bb9fcd4e1f087d3c7aa1709bcdb352216aef96cd4cca69067
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.134
1
+ 1.0.135
@@ -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,162 @@ 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 NoValidInputParamsError < InvalidParamsError; end
89
+ class ReauthenticationNeededFieldsError < InvalidParamsError; end
90
+ class RequestParamPathCannotHaveTrailingWhitespaceError < InvalidParamsError; end
91
+ class RequestParamsContainInvalidCharacterError < InvalidParamsError; end
92
+ class RequestParamsInvalidError < InvalidParamsError; end
93
+ class RequestParamsRequiredError < InvalidParamsError; end
94
+ class UnsupportedCurrencyError < InvalidParamsError; end
95
+
96
+ class LockedError < APIError; end
97
+ class FileLockedError < LockedError; end
98
+ class FolderLockedError < LockedError; end
99
+ class ResourceLockedError < LockedError; end
100
+ class SubfolderLockedError < LockedError; end
101
+
102
+ class NotAuthenticatedError < APIError; end
103
+ class OneTimePasswordIncorrectError < NotAuthenticatedError; end
104
+ class TwoFactorAuthenticationErrorError < NotAuthenticatedError; end
105
+ class TwoFactorAuthenticationRequiredError < NotAuthenticatedError; end
106
+ class TwoFactorAuthenticationSetupExpiredError < NotAuthenticatedError; end
107
+
108
+ class NotAuthorizedError < APIError; end
109
+ class ApiKeyIsDisabledError < NotAuthorizedError; end
110
+ class ApiKeyIsPathRestrictedError < NotAuthorizedError; end
111
+ class ApiKeyOnlyForDesktopAppError < NotAuthorizedError; end
112
+ class ApiKeyOnlyForOfficeIntegrationError < NotAuthorizedError; end
113
+ class AuthenticationRequiredError < NotAuthorizedError; end
114
+ class CannotLoginWhileUsingKeyError < NotAuthorizedError; end
115
+ class CantActForOtherUserError < NotAuthorizedError; end
116
+ class ContactAdminForPasswordChangeHelpError < NotAuthorizedError; end
117
+ class FolderAdminOrBillingPermissionError < NotAuthorizedError; end
118
+ class FolderAdminPermissionRequiredError < NotAuthorizedError; end
119
+ class HistoryExportNonAdminsMustQueryByFolderOrPathError < NotAuthorizedError; end
120
+ class HistoryPermissionRequiredError < NotAuthorizedError; end
121
+ class InsufficientPermissionForParamsError < NotAuthorizedError; end
122
+ class LockedOutError < NotAuthorizedError; end
123
+ class LockoutIpFailuresError < 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 TooManyRequestsError < RateLimitedError; end
178
+
179
+ class SiteConfigurationError < APIError; end
180
+ class AccountAlreadyExistsError < SiteConfigurationError; end
181
+ class NoAccountForSiteError < SiteConfigurationError; end
182
+ class SiteAdminRequiredError < SiteConfigurationError; end
183
+ class SiteWasRemovedError < SiteConfigurationError; end
184
+ class TrialExpiredError < SiteConfigurationError; end
185
+ class TrialLockedError < SiteConfigurationError; end
186
+ class UserRequestsEnabledRequiredError < SiteConfigurationError; end
41
187
  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.134
4
+ version: 1.0.135
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-22 00:00:00.000000000 Z
11
+ date: 2021-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable