dropbox_api 0.1.16 → 0.1.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +15 -0
- data/.travis.yml +0 -2
- data/Gemfile +26 -1
- data/README.md +120 -24
- data/Rakefile +4 -3
- data/TODO.md +24 -7
- data/api_coverage.md +8 -8
- data/bin/console +4 -3
- data/docs/DropboxApi/Authenticator.html +14 -20
- data/docs/DropboxApi/ChunkedUploader.html +20 -20
- data/docs/DropboxApi/Client.html +3446 -992
- data/docs/DropboxApi/ConnectionBuilder.html +266 -31
- data/docs/DropboxApi/Endpoints/Auth/TokenRevoke.html +13 -13
- data/docs/DropboxApi/Endpoints/Auth.html +6 -6
- data/docs/DropboxApi/Endpoints/Base.html +92 -11
- data/docs/DropboxApi/Endpoints/ContentDownload.html +37 -48
- data/docs/DropboxApi/Endpoints/ContentUpload.html +35 -46
- data/docs/DropboxApi/Endpoints/Files/Copy.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/CopyBatch.html +359 -0
- data/docs/DropboxApi/Endpoints/Files/CopyBatchCheck.html +305 -0
- data/docs/DropboxApi/Endpoints/Files/CopyReferenceGet.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/CopyReferenceSave.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/CreateFileRequest.html +13 -13
- data/docs/DropboxApi/Endpoints/Files/CreateFolder.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/CreateFolderBatch.html +377 -0
- data/docs/DropboxApi/Endpoints/Files/CreateFolderBatchCheck.html +308 -0
- data/docs/DropboxApi/Endpoints/Files/Delete.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/DeleteBatch.html +305 -0
- data/docs/DropboxApi/Endpoints/Files/DeleteBatchCheck.html +307 -0
- data/docs/DropboxApi/Endpoints/Files/Download.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/GetMetadata.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/GetPreview.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/GetTemporaryLink.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/GetThumbnail.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/GetThumbnailBatch.html +19 -19
- data/docs/DropboxApi/Endpoints/Files/ListFolder.html +39 -20
- data/docs/DropboxApi/Endpoints/Files/ListFolderContinue.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/ListFolderGetLatestCursor.html +13 -13
- data/docs/DropboxApi/Endpoints/Files/ListFolderLongpoll.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/ListRevisions.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/Move.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/PermanentlyDelete.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/Restore.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/SaveUrl.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/SaveUrlCheckJobStatus.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/Search.html +51 -99
- data/docs/DropboxApi/Endpoints/Files/SearchContinue.html +300 -0
- data/docs/DropboxApi/Endpoints/Files/Upload.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/UploadSessionAppendV2.html +14 -14
- data/docs/DropboxApi/Endpoints/Files/UploadSessionFinish.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/UploadSessionStart.html +15 -15
- data/docs/DropboxApi/Endpoints/Files.html +8 -8
- data/docs/DropboxApi/Endpoints/Rpc.html +36 -47
- data/docs/DropboxApi/Endpoints/RpcContent.html +28 -33
- data/docs/DropboxApi/Endpoints/RpcNotify.html +28 -33
- data/docs/DropboxApi/Endpoints/Sharing/AddFileMember.html +15 -15
- data/docs/DropboxApi/Endpoints/Sharing/AddFolderMember.html +15 -15
- data/docs/DropboxApi/Endpoints/Sharing/CreateSharedLinkWithSettings.html +110 -19
- data/docs/DropboxApi/Endpoints/Sharing/GetSharedLinkMetadata.html +14 -14
- data/docs/DropboxApi/Endpoints/Sharing/ListFileMembers.html +15 -15
- data/docs/DropboxApi/Endpoints/Sharing/ListFolderMembers.html +15 -15
- data/docs/DropboxApi/Endpoints/Sharing/ListSharedLinks.html +13 -13
- data/docs/DropboxApi/Endpoints/Sharing/RevokeSharedLink.html +293 -0
- data/docs/DropboxApi/Endpoints/Sharing/ShareFolder.html +14 -14
- data/docs/DropboxApi/Endpoints/Sharing/UnshareFile.html +14 -14
- data/docs/DropboxApi/Endpoints/Sharing.html +8 -8
- data/docs/DropboxApi/Endpoints/Users/GetAccount.html +14 -14
- data/docs/DropboxApi/Endpoints/Users/GetAccountBatch.html +14 -14
- data/docs/DropboxApi/Endpoints/Users/GetCurrentAccount.html +13 -13
- data/docs/DropboxApi/Endpoints/Users/GetSpaceUsage.html +13 -13
- data/docs/DropboxApi/Endpoints/Users.html +6 -6
- data/docs/DropboxApi/Endpoints.html +6 -6
- data/docs/DropboxApi/Errors/AddFileMemberError.html +10 -10
- data/docs/DropboxApi/Errors/AddFolderMemberError.html +16 -16
- data/docs/DropboxApi/Errors/AddMemberSelectorError.html +11 -11
- data/docs/DropboxApi/Errors/AlreadySharedError.html +9 -9
- data/docs/DropboxApi/Errors/BadPathError.html +6 -6
- data/docs/DropboxApi/Errors/BasicError.html +18 -18
- data/docs/DropboxApi/Errors/CantCopySharedFolderError.html +6 -6
- data/docs/DropboxApi/Errors/CantMoveFolderIntoItselfError.html +6 -6
- data/docs/DropboxApi/Errors/CantNestSharedFolderError.html +6 -6
- data/docs/DropboxApi/Errors/CantShareOutsideTeamError.html +6 -6
- data/docs/DropboxApi/Errors/ContainsSharedFolderError.html +6 -6
- data/docs/DropboxApi/Errors/ConversionError.html +6 -6
- data/docs/DropboxApi/Errors/CreateFileRequestError.html +6 -6
- data/docs/DropboxApi/Errors/CreateFolderBatchError.html +161 -0
- data/docs/DropboxApi/Errors/CreateFolderError.html +7 -7
- data/docs/DropboxApi/Errors/CreateSharedLinkWithSettingsError.html +11 -11
- data/docs/DropboxApi/Errors/CursorClosedError.html +6 -6
- data/docs/DropboxApi/Errors/CursorNotClosedError.html +6 -6
- data/docs/DropboxApi/Errors/DeleteError.html +9 -8
- data/docs/DropboxApi/Errors/DisallowedNameError.html +6 -6
- data/docs/DropboxApi/Errors/DisallowedSharedLinkPolicyError.html +6 -6
- data/docs/DropboxApi/Errors/DownloadError.html +7 -7
- data/docs/DropboxApi/Errors/DownloadFailedError.html +6 -6
- data/docs/DropboxApi/Errors/EmailUnverifiedError.html +6 -6
- data/docs/DropboxApi/Errors/ExpiredAccessTokenError.html +143 -0
- data/docs/DropboxApi/Errors/FileAncestorConflictError.html +6 -6
- data/docs/DropboxApi/Errors/FileConflictError.html +6 -6
- data/docs/DropboxApi/Errors/FileMemberActionError.html +10 -10
- data/docs/DropboxApi/Errors/FolderConflictError.html +6 -6
- data/docs/DropboxApi/Errors/GetAccountError.html +7 -7
- data/docs/DropboxApi/Errors/GetCopyReferenceError.html +7 -7
- data/docs/DropboxApi/Errors/GetMetadataError.html +7 -7
- data/docs/DropboxApi/Errors/GroupDeletedError.html +6 -6
- data/docs/DropboxApi/Errors/GroupNotOnTeamError.html +6 -6
- data/docs/DropboxApi/Errors/HttpError.html +6 -6
- data/docs/DropboxApi/Errors/InProgressError.html +6 -6
- data/docs/DropboxApi/Errors/InsideAppFolderError.html +6 -6
- data/docs/DropboxApi/Errors/InsideOsxPackageError.html +6 -6
- data/docs/DropboxApi/Errors/InsidePublicFolderError.html +6 -6
- data/docs/DropboxApi/Errors/InsideSharedFolderError.html +6 -6
- data/docs/DropboxApi/Errors/InsufficientPlanError.html +6 -6
- data/docs/DropboxApi/Errors/InsufficientSpaceError.html +6 -6
- data/docs/DropboxApi/Errors/InternalError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidCommentError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidCopyReferenceError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidCursorError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidDropboxIdError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidEmailError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidFileError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidIdError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidMemberError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidPathError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidRevisionError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidSettingsError.html +6 -6
- data/docs/DropboxApi/Errors/InvalidUrlError.html +6 -6
- data/docs/DropboxApi/Errors/IsAppFolderError.html +6 -6
- data/docs/DropboxApi/Errors/IsFileError.html +6 -6
- data/docs/DropboxApi/Errors/IsFolderError.html +6 -6
- data/docs/DropboxApi/Errors/IsOsxPackageError.html +6 -6
- data/docs/DropboxApi/Errors/IsPublicFolderError.html +6 -6
- data/docs/DropboxApi/Errors/ListFolderContinueError.html +8 -8
- data/docs/DropboxApi/Errors/ListFolderError.html +7 -7
- data/docs/DropboxApi/Errors/ListFolderLongpollError.html +7 -7
- data/docs/DropboxApi/Errors/ListRevisionsError.html +7 -7
- data/docs/DropboxApi/Errors/ListSharedLinksError.html +8 -8
- data/docs/DropboxApi/Errors/LookupError.html +11 -11
- data/docs/DropboxApi/Errors/MalformedPathError.html +6 -6
- data/docs/DropboxApi/Errors/NoAccountError.html +6 -6
- data/docs/DropboxApi/Errors/NoPermissionError.html +6 -6
- data/docs/DropboxApi/Errors/NoWritePermissionError.html +6 -6
- data/docs/DropboxApi/Errors/NotAMemberError.html +6 -6
- data/docs/DropboxApi/Errors/NotFileError.html +6 -6
- data/docs/DropboxApi/Errors/NotFolderError.html +6 -6
- data/docs/DropboxApi/Errors/NotFoundError.html +6 -6
- data/docs/DropboxApi/Errors/PollError.html +8 -8
- data/docs/DropboxApi/Errors/PreviewError.html +10 -10
- data/docs/DropboxApi/Errors/RateLimitError.html +6 -6
- data/docs/DropboxApi/Errors/RelocationBatchEntryError.html +163 -0
- data/docs/DropboxApi/Errors/RelocationError.html +13 -13
- data/docs/DropboxApi/Errors/RestoreError.html +9 -9
- data/docs/DropboxApi/Errors/RestrictedContentError.html +6 -6
- data/docs/DropboxApi/Errors/RevokeSharedLinkError.html +164 -0
- data/docs/DropboxApi/Errors/SaveCopyReferenceError.html +11 -11
- data/docs/DropboxApi/Errors/SaveUrlError.html +10 -10
- data/docs/DropboxApi/Errors/SearchError.html +7 -7
- data/docs/DropboxApi/Errors/SettingsError.html +8 -8
- data/docs/DropboxApi/Errors/ShareFolderError.html +11 -11
- data/docs/DropboxApi/Errors/SharePathError.html +17 -17
- data/docs/DropboxApi/Errors/SharedFolderAccessError.html +10 -10
- data/docs/DropboxApi/Errors/SharedLinkAccessDeniedError.html +6 -6
- data/docs/DropboxApi/Errors/SharedLinkAlreadyExistsError.html +6 -6
- data/docs/DropboxApi/Errors/SharedLinkError.html +9 -9
- data/docs/DropboxApi/Errors/SharedLinkMalformedError.html +143 -0
- data/docs/DropboxApi/Errors/SharedLinkNotFoundError.html +6 -6
- data/docs/DropboxApi/Errors/SharingFileAccessError.html +11 -11
- data/docs/DropboxApi/Errors/SharingUserError.html +7 -7
- data/docs/DropboxApi/Errors/TeamFolderError.html +6 -6
- data/docs/DropboxApi/Errors/TeamPolicyDisallowsMemberPolicyError.html +6 -6
- data/docs/DropboxApi/Errors/ThumbnailBatchError.html +7 -7
- data/docs/DropboxApi/Errors/ThumbnailError.html +10 -10
- data/docs/DropboxApi/Errors/TooManyFilesError.html +6 -6
- data/docs/DropboxApi/Errors/TooManyMembersError.html +6 -6
- data/docs/DropboxApi/Errors/TooManyPendingInvitesError.html +6 -6
- data/docs/DropboxApi/Errors/TooManyRequestsError.html +15 -15
- data/docs/DropboxApi/Errors/TooManySharedFolderTargetsError.html +6 -6
- data/docs/DropboxApi/Errors/TooManyWriteOperationsError.html +6 -6
- data/docs/DropboxApi/Errors/UnmountedError.html +6 -6
- data/docs/DropboxApi/Errors/UnshareFileError.html +8 -8
- data/docs/DropboxApi/Errors/UnsupportedContentError.html +6 -6
- data/docs/DropboxApi/Errors/UnsupportedExtensionError.html +6 -6
- data/docs/DropboxApi/Errors/UnsupportedImageError.html +6 -6
- data/docs/DropboxApi/Errors/UnsupportedLinkTypeError.html +6 -6
- data/docs/DropboxApi/Errors/UnverifiedDropboxId.html +6 -6
- data/docs/DropboxApi/Errors/UploadError.html +7 -7
- data/docs/DropboxApi/Errors/UploadSessionFinishError.html +9 -9
- data/docs/DropboxApi/Errors/UploadSessionLookupError.html +10 -10
- data/docs/DropboxApi/Errors/UploadSessionOffsetError.html +10 -10
- data/docs/DropboxApi/Errors/UploadWriteFailedError.html +7 -7
- data/docs/DropboxApi/Errors/WriteConflictError.html +9 -9
- data/docs/DropboxApi/Errors/WriteError.html +11 -11
- data/docs/DropboxApi/Errors.html +8 -8
- data/docs/DropboxApi/Metadata/AccessLevel.html +9 -9
- data/docs/DropboxApi/Metadata/AddFileMemberResult.html +6 -6
- data/docs/DropboxApi/Metadata/AddMember.html +11 -11
- data/docs/DropboxApi/Metadata/Base.html +24 -24
- data/docs/DropboxApi/Metadata/BasicAccount.html +12 -7
- data/docs/DropboxApi/Metadata/CommitInfo.html +9 -9
- data/docs/DropboxApi/Metadata/Deleted.html +6 -6
- data/docs/DropboxApi/Metadata/Dimensions.html +6 -6
- data/docs/DropboxApi/Metadata/Field.html +24 -20
- data/docs/DropboxApi/Metadata/File.html +10 -10
- data/docs/DropboxApi/Metadata/FileCategoriesList.html +205 -0
- data/docs/DropboxApi/Metadata/FileCategory.html +250 -0
- data/docs/DropboxApi/Metadata/FileExtensionsList.html +213 -0
- data/docs/DropboxApi/Metadata/FileLinkMetadata.html +6 -6
- data/docs/DropboxApi/Metadata/FileMemberAction.html +10 -10
- data/docs/DropboxApi/Metadata/FileRequest.html +6 -6
- data/docs/DropboxApi/Metadata/FileStatus.html +242 -0
- data/docs/DropboxApi/Metadata/Folder.html +10 -10
- data/docs/DropboxApi/Metadata/FolderLinkMetadata.html +6 -6
- data/docs/DropboxApi/Metadata/FolderSharingInfo.html +6 -6
- data/docs/DropboxApi/Metadata/LinkPermissions.html +6 -6
- data/docs/DropboxApi/Metadata/Location.html +6 -6
- data/docs/DropboxApi/Metadata/MediaInfo.html +9 -9
- data/docs/DropboxApi/Metadata/MediaMetadata.html +9 -9
- data/docs/DropboxApi/Metadata/Member.html +13 -13
- data/docs/DropboxApi/Metadata/MemberAction.html +9 -9
- data/docs/DropboxApi/Metadata/MemberActionList.html +9 -9
- data/docs/DropboxApi/Metadata/MemberPermission.html +6 -6
- data/docs/DropboxApi/Metadata/MemberPermissionList.html +10 -10
- data/docs/DropboxApi/Metadata/MetadataV2.html +140 -0
- data/docs/DropboxApi/Metadata/Name.html +6 -6
- data/docs/DropboxApi/Metadata/NamespaceId.html +210 -0
- data/docs/DropboxApi/Metadata/ParentFolderAccessInfo.html +6 -6
- data/docs/DropboxApi/Metadata/PhotoMetadata.html +6 -6
- data/docs/DropboxApi/Metadata/Resource.html +10 -10
- data/docs/DropboxApi/Metadata/RootInfo.html +227 -0
- data/docs/DropboxApi/Metadata/SearchMatchFieldOptions.html +140 -0
- data/docs/DropboxApi/Metadata/SearchMatchTypeV2.html +244 -0
- data/docs/DropboxApi/Metadata/SearchMatchV2.html +216 -0
- data/docs/DropboxApi/Metadata/SearchOptions.html +140 -0
- data/docs/DropboxApi/Metadata/SearchOrderBy.html +242 -0
- data/docs/DropboxApi/Metadata/SharedFolder.html +6 -6
- data/docs/DropboxApi/Metadata/SharedFolderPolicy.html +6 -6
- data/docs/DropboxApi/Metadata/SharedLink.html +18 -18
- data/docs/DropboxApi/Metadata/SharedLinkMetadata.html +10 -10
- data/docs/DropboxApi/Metadata/SpaceAllocation.html +6 -6
- data/docs/DropboxApi/Metadata/SpaceUsage.html +6 -6
- data/docs/DropboxApi/Metadata/Tag.html +14 -14
- data/docs/DropboxApi/Metadata/Team.html +6 -6
- data/docs/DropboxApi/Metadata/TeamMemberInfo.html +6 -6
- data/docs/DropboxApi/Metadata/TeamRootInfo.html +140 -0
- data/docs/DropboxApi/Metadata/ThumbnailBatchResultData.html +6 -6
- data/docs/DropboxApi/Metadata/ThumbnailBatchResultEntry.html +11 -11
- data/docs/DropboxApi/Metadata/UploadSessionCursor.html +9 -9
- data/docs/DropboxApi/Metadata/UserRootInfo.html +140 -0
- data/docs/DropboxApi/Metadata/VideoMetadata.html +6 -6
- data/docs/DropboxApi/Metadata/WriteMode.html +21 -21
- data/docs/DropboxApi/Metadata.html +8 -8
- data/docs/DropboxApi/MiddleWare/DecodeResult.html +13 -13
- data/docs/DropboxApi/MiddleWare/PathRoot.html +412 -0
- data/docs/DropboxApi/MiddleWare/Stack.html +22 -22
- data/docs/DropboxApi/MiddleWare.html +8 -8
- data/docs/DropboxApi/OptionsValidator.html +10 -10
- data/docs/DropboxApi/ResultBuilder.html +30 -30
- data/docs/DropboxApi/Results/AddFileMemberResultList.html +10 -10
- data/docs/DropboxApi/Results/Base.html +11 -11
- data/docs/DropboxApi/Results/BasicAccountBatch.html +10 -10
- data/docs/DropboxApi/Results/CopyBatchResult.html +224 -0
- data/docs/DropboxApi/Results/CreateFolderBatchResult.html +241 -0
- data/docs/DropboxApi/Results/CreateFolderBatchResultEntry.html +234 -0
- data/docs/DropboxApi/Results/DeleteBatchResult.html +241 -0
- data/docs/DropboxApi/Results/DeleteBatchResultEntry.html +226 -0
- data/docs/DropboxApi/Results/GetCopyReferenceResult.html +18 -18
- data/docs/DropboxApi/Results/GetTemporaryLinkResult.html +14 -14
- data/docs/DropboxApi/Results/GetThumbnailBatchResult.html +10 -10
- data/docs/DropboxApi/Results/ListFolderGetLatestCursorResult.html +10 -10
- data/docs/DropboxApi/Results/ListFolderLongpollResult.html +14 -14
- data/docs/DropboxApi/Results/ListFolderResult.html +18 -18
- data/docs/DropboxApi/Results/ListRevisionsResult.html +14 -14
- data/docs/DropboxApi/Results/ListSharedLinksResult.html +18 -18
- data/docs/DropboxApi/Results/RelocationBatchResult.html +241 -0
- data/docs/DropboxApi/Results/RelocationBatchResultEntry.html +226 -0
- data/docs/DropboxApi/Results/SaveCopyReferenceResult.html +10 -10
- data/docs/DropboxApi/Results/SaveUrlJobStatus.html +15 -15
- data/docs/DropboxApi/Results/SaveUrlResult.html +10 -10
- data/docs/DropboxApi/Results/Search/Match.html +18 -18
- data/docs/DropboxApi/Results/Search.html +6 -6
- data/docs/DropboxApi/Results/SearchResult.html +3 -3
- data/docs/DropboxApi/Results/SearchV2Result.html +368 -0
- data/docs/DropboxApi/Results/ShareFolderLaunch.html +12 -12
- data/docs/DropboxApi/Results/SharedFileMembers.html +22 -22
- data/docs/DropboxApi/Results/SharedFolderMembers.html +22 -22
- data/docs/DropboxApi/Results/UploadSessionStart.html +10 -10
- data/docs/DropboxApi/Results/VoidResult.html +6 -6
- data/docs/DropboxApi/Results.html +8 -8
- data/docs/DropboxApi.html +7 -7
- data/docs/DropboxScaffoldBuilder.html +269 -102
- data/docs/_index.html +261 -16
- data/docs/class_list.html +3 -3
- data/docs/css/common.css +3 -0
- data/docs/css/style.css +3 -2
- data/docs/file.README.html +134 -43
- data/docs/file.api_coverage.html +21 -21
- data/docs/file.rails_setup.html +10 -10
- data/docs/file_list.html +2 -2
- data/docs/frames.html +2 -2
- data/docs/index.html +134 -43
- data/docs/js/app.js +25 -3
- data/docs/method_list.html +598 -238
- data/docs/top-level-namespace.html +6 -6
- data/dropbox_api.gemspec +11 -16
- data/lib/dropbox_api/authenticator.rb +5 -8
- data/lib/dropbox_api/chunked_uploader.rb +2 -1
- data/lib/dropbox_api/client.rb +24 -2
- data/lib/dropbox_api/connection_builder.rb +39 -4
- data/lib/dropbox_api/endpoints/auth/token_revoke.rb +2 -1
- data/lib/dropbox_api/endpoints/base.rb +31 -5
- data/lib/dropbox_api/endpoints/content_download.rb +5 -7
- data/lib/dropbox_api/endpoints/content_upload.rb +3 -2
- data/lib/dropbox_api/endpoints/file_requests/create_file_request.rb +2 -1
- data/lib/dropbox_api/endpoints/files/copy.rb +4 -3
- data/lib/dropbox_api/endpoints/files/copy_batch.rb +36 -0
- data/lib/dropbox_api/endpoints/files/copy_batch_check.rb +21 -0
- data/lib/dropbox_api/endpoints/files/copy_reference_get.rb +3 -2
- data/lib/dropbox_api/endpoints/files/copy_reference_save.rb +4 -3
- data/lib/dropbox_api/endpoints/files/create_folder.rb +3 -2
- data/lib/dropbox_api/endpoints/files/create_folder_batch.rb +41 -0
- data/lib/dropbox_api/endpoints/files/create_folder_batch_check.rb +22 -0
- data/lib/dropbox_api/endpoints/files/delete.rb +3 -2
- data/lib/dropbox_api/endpoints/files/delete_batch.rb +23 -0
- data/lib/dropbox_api/endpoints/files/delete_batch_check.rb +21 -0
- data/lib/dropbox_api/endpoints/files/download.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_metadata.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_preview.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_temporary_link.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_thumbnail.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb +4 -3
- data/lib/dropbox_api/endpoints/files/list_folder.rb +3 -2
- data/lib/dropbox_api/endpoints/files/list_folder_continue.rb +3 -2
- data/lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb +2 -1
- data/lib/dropbox_api/endpoints/files/list_folder_longpoll.rb +3 -2
- data/lib/dropbox_api/endpoints/files/list_revisions.rb +3 -2
- data/lib/dropbox_api/endpoints/files/move.rb +4 -3
- data/lib/dropbox_api/endpoints/files/permanently_delete.rb +3 -2
- data/lib/dropbox_api/endpoints/files/restore.rb +4 -3
- data/lib/dropbox_api/endpoints/files/save_url.rb +4 -3
- data/lib/dropbox_api/endpoints/files/save_url_check_job_status.rb +3 -2
- data/lib/dropbox_api/endpoints/files/search.rb +16 -27
- data/lib/dropbox_api/endpoints/files/search_continue.rb +23 -0
- data/lib/dropbox_api/endpoints/files/upload.rb +3 -2
- data/lib/dropbox_api/endpoints/files/upload_session_append_v2.rb +3 -2
- data/lib/dropbox_api/endpoints/files/upload_session_finish.rb +4 -3
- data/lib/dropbox_api/endpoints/files/upload_session_start.rb +4 -3
- data/lib/dropbox_api/endpoints/rpc.rb +3 -2
- data/lib/dropbox_api/endpoints/rpc_content.rb +3 -2
- data/lib/dropbox_api/endpoints/rpc_notify.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/add_file_member.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/add_folder_member.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb +3 -2
- data/lib/dropbox_api/endpoints/sharing/list_file_members.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/list_folder_members.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/list_shared_links.rb +2 -1
- data/lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb +3 -2
- data/lib/dropbox_api/endpoints/sharing/share_folder.rb +3 -2
- data/lib/dropbox_api/endpoints/sharing/unshare_file.rb +3 -2
- data/lib/dropbox_api/endpoints/users/get_account.rb +3 -2
- data/lib/dropbox_api/endpoints/users/get_account_batch.rb +3 -2
- data/lib/dropbox_api/endpoints/users/get_current_account.rb +2 -1
- data/lib/dropbox_api/endpoints/users/get_space_usage.rb +2 -1
- data/lib/dropbox_api/endpoints/virtual/upload_by_chunks.rb +1 -0
- data/lib/dropbox_api/errors/add_file_member_error.rb +5 -4
- data/lib/dropbox_api/errors/add_folder_member_error.rb +11 -10
- data/lib/dropbox_api/errors/add_member_selector_error.rb +6 -5
- data/lib/dropbox_api/errors/already_shared_error.rb +1 -0
- data/lib/dropbox_api/errors/basic_error.rb +2 -1
- data/lib/dropbox_api/errors/create_file_request_error.rb +1 -0
- data/lib/dropbox_api/errors/create_folder_batch_error.rb +8 -0
- data/lib/dropbox_api/errors/create_folder_error.rb +2 -1
- data/lib/dropbox_api/errors/create_shared_link_with_settings_error.rb +6 -5
- data/lib/dropbox_api/errors/delete_error.rb +5 -3
- data/lib/dropbox_api/errors/download_error.rb +2 -1
- data/lib/dropbox_api/errors/expired_access_token_error.rb +5 -0
- data/lib/dropbox_api/errors/file_member_action_error.rb +5 -4
- data/lib/dropbox_api/errors/get_account_error.rb +2 -1
- data/lib/dropbox_api/errors/get_copy_reference_error.rb +2 -1
- data/lib/dropbox_api/errors/get_metadata_error.rb +2 -1
- data/lib/dropbox_api/errors/http_error.rb +1 -0
- data/lib/dropbox_api/errors/list_folder_continue_error.rb +3 -2
- data/lib/dropbox_api/errors/list_folder_error.rb +2 -1
- data/lib/dropbox_api/errors/list_folder_longpoll_error.rb +2 -1
- data/lib/dropbox_api/errors/list_revisions_error.rb +2 -1
- data/lib/dropbox_api/errors/list_shared_links_error.rb +3 -2
- data/lib/dropbox_api/errors/lookup_error.rb +6 -5
- data/lib/dropbox_api/errors/poll_error.rb +3 -2
- data/lib/dropbox_api/errors/preview_error.rb +5 -4
- data/lib/dropbox_api/errors/relocation_batch_entry_error.rb +10 -0
- data/lib/dropbox_api/errors/relocation_error.rb +8 -7
- data/lib/dropbox_api/errors/restore_error.rb +4 -3
- data/lib/dropbox_api/errors/revoke_shared_link_error.rb +5 -4
- data/lib/dropbox_api/errors/save_copy_reference_error.rb +6 -5
- data/lib/dropbox_api/errors/save_url_error.rb +5 -4
- data/lib/dropbox_api/errors/search_error.rb +2 -1
- data/lib/dropbox_api/errors/settings_error.rb +3 -2
- data/lib/dropbox_api/errors/share_folder_error.rb +6 -5
- data/lib/dropbox_api/errors/share_path_error.rb +12 -11
- data/lib/dropbox_api/errors/shared_folder_access_error.rb +5 -4
- data/lib/dropbox_api/errors/shared_link_error.rb +4 -3
- data/lib/dropbox_api/errors/sharing_file_access_error.rb +6 -5
- data/lib/dropbox_api/errors/sharing_user_error.rb +2 -1
- data/lib/dropbox_api/errors/thumbnail_batch_error.rb +2 -1
- data/lib/dropbox_api/errors/thumbnail_error.rb +5 -4
- data/lib/dropbox_api/errors/too_many_requests_error.rb +3 -2
- data/lib/dropbox_api/errors/unshare_file_error.rb +3 -2
- data/lib/dropbox_api/errors/upload_error.rb +2 -1
- data/lib/dropbox_api/errors/upload_session_finish_error.rb +4 -3
- data/lib/dropbox_api/errors/upload_session_lookup_error.rb +5 -4
- data/lib/dropbox_api/errors/upload_session_offset_error.rb +1 -0
- data/lib/dropbox_api/errors/upload_write_failed_error.rb +2 -1
- data/lib/dropbox_api/errors/write_conflict_error.rb +4 -3
- data/lib/dropbox_api/errors/write_error.rb +6 -5
- data/lib/dropbox_api/metadata/access_level.rb +1 -0
- data/lib/dropbox_api/metadata/add_file_member_result.rb +1 -0
- data/lib/dropbox_api/metadata/add_member.rb +3 -2
- data/lib/dropbox_api/metadata/base.rb +2 -1
- data/lib/dropbox_api/metadata/basic_account.rb +8 -1
- data/lib/dropbox_api/metadata/commit_info.rb +2 -1
- data/lib/dropbox_api/metadata/deleted.rb +1 -0
- data/lib/dropbox_api/metadata/dimensions.rb +1 -0
- data/lib/dropbox_api/metadata/field.rb +7 -4
- data/lib/dropbox_api/metadata/file.rb +2 -1
- data/lib/dropbox_api/metadata/file_categories_list.rb +9 -0
- data/lib/dropbox_api/metadata/file_category.rb +22 -0
- data/lib/dropbox_api/metadata/file_extensions_list.rb +13 -0
- data/lib/dropbox_api/metadata/file_link_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/file_member_action.rb +2 -1
- data/lib/dropbox_api/metadata/file_request.rb +1 -0
- data/lib/dropbox_api/metadata/file_status.rb +14 -0
- data/lib/dropbox_api/metadata/folder.rb +2 -1
- data/lib/dropbox_api/metadata/folder_link_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/folder_sharing_info.rb +1 -0
- data/lib/dropbox_api/metadata/link_permissions.rb +1 -0
- data/lib/dropbox_api/metadata/location.rb +1 -0
- data/lib/dropbox_api/metadata/media_info.rb +1 -0
- data/lib/dropbox_api/metadata/media_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/member.rb +6 -5
- data/lib/dropbox_api/metadata/member_action.rb +1 -0
- data/lib/dropbox_api/metadata/member_action_list.rb +1 -0
- data/lib/dropbox_api/metadata/member_permission.rb +1 -0
- data/lib/dropbox_api/metadata/member_permission_list.rb +1 -0
- data/lib/dropbox_api/metadata/metadata_v2.rb +7 -0
- data/lib/dropbox_api/metadata/name.rb +1 -0
- data/lib/dropbox_api/metadata/namespace_id.rb +10 -0
- data/lib/dropbox_api/metadata/parent_folder_access_info.rb +1 -0
- data/lib/dropbox_api/metadata/photo_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/resource.rb +2 -1
- data/lib/dropbox_api/metadata/root_info.rb +32 -0
- data/lib/dropbox_api/metadata/search_match_field_options.rb +9 -0
- data/lib/dropbox_api/metadata/search_match_type_v2.rb +16 -0
- data/lib/dropbox_api/metadata/search_match_v2.rb +18 -0
- data/lib/dropbox_api/metadata/search_options.rb +33 -0
- data/lib/dropbox_api/metadata/search_order_by.rb +14 -0
- data/lib/dropbox_api/metadata/shared_folder.rb +1 -0
- data/lib/dropbox_api/metadata/shared_folder_policy.rb +1 -0
- data/lib/dropbox_api/metadata/shared_link.rb +3 -2
- data/lib/dropbox_api/metadata/shared_link_metadata.rb +2 -1
- data/lib/dropbox_api/metadata/space_allocation.rb +1 -0
- data/lib/dropbox_api/metadata/space_usage.rb +1 -0
- data/lib/dropbox_api/metadata/tag.rb +2 -1
- data/lib/dropbox_api/metadata/team.rb +1 -0
- data/lib/dropbox_api/metadata/team_member_info.rb +1 -0
- data/lib/dropbox_api/metadata/team_root_info.rb +8 -0
- data/lib/dropbox_api/metadata/thumbnail_batch_result_data.rb +1 -0
- data/lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb +3 -2
- data/lib/dropbox_api/metadata/upload_session_cursor.rb +1 -0
- data/lib/dropbox_api/metadata/user_root_info.rb +7 -0
- data/lib/dropbox_api/metadata/video_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/write_mode.rb +6 -5
- data/lib/dropbox_api/middleware/decode_result.rb +3 -2
- data/lib/dropbox_api/middleware/path_root.rb +35 -0
- data/lib/dropbox_api/middleware/stack.rb +1 -0
- data/lib/dropbox_api/options_validator.rb +1 -0
- data/lib/dropbox_api/result_builder.rb +3 -2
- data/lib/dropbox_api/results/add_file_member_result_list.rb +1 -0
- data/lib/dropbox_api/results/base.rb +1 -0
- data/lib/dropbox_api/results/basic_account_batch.rb +1 -0
- data/lib/dropbox_api/results/copy_batch_result.rb +15 -0
- data/lib/dropbox_api/results/create_folder_batch_result.rb +21 -0
- data/lib/dropbox_api/results/create_folder_batch_result_entry.rb +20 -0
- data/lib/dropbox_api/results/delete_batch_result.rb +21 -0
- data/lib/dropbox_api/results/delete_batch_result_entry.rb +16 -0
- data/lib/dropbox_api/results/get_copy_reference_result.rb +4 -3
- data/lib/dropbox_api/results/get_temporary_link_result.rb +3 -2
- data/lib/dropbox_api/results/get_thumbnail_batch_result.rb +2 -1
- data/lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb +2 -1
- data/lib/dropbox_api/results/list_folder_longpoll_result.rb +3 -2
- data/lib/dropbox_api/results/list_folder_result.rb +4 -3
- data/lib/dropbox_api/results/list_revisions_result.rb +3 -2
- data/lib/dropbox_api/results/list_shared_links_result.rb +4 -3
- data/lib/dropbox_api/results/relocation_batch_result.rb +21 -0
- data/lib/dropbox_api/results/relocation_batch_result_entry.rb +16 -0
- data/lib/dropbox_api/results/save_copy_reference_result.rb +2 -1
- data/lib/dropbox_api/results/save_url_job_status.rb +7 -6
- data/lib/dropbox_api/results/save_url_result.rb +2 -1
- data/lib/dropbox_api/results/search/match.rb +3 -2
- data/lib/dropbox_api/results/search_v2_result.rb +23 -0
- data/lib/dropbox_api/results/share_folder_launch.rb +4 -3
- data/lib/dropbox_api/results/shared_file_members.rb +5 -4
- data/lib/dropbox_api/results/shared_folder_members.rb +5 -4
- data/lib/dropbox_api/results/upload_session_start.rb +2 -1
- data/lib/dropbox_api/results/void_result.rb +1 -0
- data/lib/dropbox_api/version.rb +2 -1
- data/lib/dropbox_api.rb +38 -6
- data/yardoc/endpoint_handler.rb +2 -1
- data/yardoc/helpers/html_helper.rb +2 -1
- data/yardoc/rspec.rb +3 -2
- data/yardoc/templates/default/method_details/setup.rb +1 -0
- metadata +84 -93
- data/CHANGES.md +0 -7
- data/lib/dropbox_api/results/search_result.rb +0 -22
@@ -1,11 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class SharingFileAccessError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
7
|
-
:
|
8
|
-
:
|
5
|
+
no_permission: NoPermissionError,
|
6
|
+
invalid_file: InvalidFileError,
|
7
|
+
is_folder: IsFolderError,
|
8
|
+
inside_public_folder: InsidePublicFolderError,
|
9
|
+
inside_osx_package: InsideOsxPackageError
|
9
10
|
}.freeze
|
10
11
|
end
|
11
12
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class ThumbnailError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
7
|
-
:
|
5
|
+
path: LookupError,
|
6
|
+
unsupported_extension: UnsupportedExtensionError,
|
7
|
+
unsupported_image: UnsupportedImageError,
|
8
|
+
conversion_error: ConversionError
|
8
9
|
}.freeze
|
9
10
|
end
|
10
11
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class TooManyRequestsError < BasicError; end
|
3
4
|
class TooManyWriteOperationsError < TooManyRequestsError; end
|
@@ -12,8 +13,8 @@ module DropboxApi::Errors
|
|
12
13
|
end
|
13
14
|
|
14
15
|
ErrorSubtypes = {
|
15
|
-
:
|
16
|
-
:
|
16
|
+
too_many_requests: TooManyRequestsError,
|
17
|
+
too_many_write_operations: TooManyWriteOperationsError
|
17
18
|
}
|
18
19
|
end
|
19
20
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class UnshareFileError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
5
|
+
user_error: SharingUserError,
|
6
|
+
access_error: SharingFileAccessError
|
6
7
|
}.freeze
|
7
8
|
end
|
8
9
|
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class UploadSessionFinishError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
5
|
+
lookup_failed: UploadSessionLookupError,
|
6
|
+
path: WriteError,
|
7
|
+
too_many_shared_folder_targets: TooManySharedFolderTargetsError
|
7
8
|
}.freeze
|
8
9
|
end
|
9
10
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class UploadSessionLookupError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
7
|
-
:
|
5
|
+
not_found: NotFoundError,
|
6
|
+
incorrect_offset: UploadSessionOffsetError,
|
7
|
+
closed: CursorClosedError,
|
8
|
+
not_closed: CursorNotClosedError
|
8
9
|
}.freeze
|
9
10
|
end
|
10
11
|
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class WriteConflictError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
5
|
+
file: FileConflictError,
|
6
|
+
folder: FolderConflictError,
|
7
|
+
file_ancestor: FileAncestorConflictError
|
7
8
|
}
|
8
9
|
end
|
9
10
|
end
|
@@ -1,11 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Errors
|
2
3
|
class WriteError < BasicError
|
3
4
|
ErrorSubtypes = {
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
7
|
-
:
|
8
|
-
:
|
5
|
+
malformed_path: MalformedPathError,
|
6
|
+
conflict: WriteConflictError,
|
7
|
+
no_write_permission: NoWritePermissionError,
|
8
|
+
insufficient_space: InsufficientSpaceError,
|
9
|
+
disallowed_name: DisallowedNameError
|
9
10
|
}
|
10
11
|
end
|
11
12
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# Examples of serialized {AddMember} objects:
|
3
4
|
#
|
@@ -25,8 +26,8 @@ module DropboxApi::Metadata
|
|
25
26
|
class << self
|
26
27
|
def build_from_string(member, access_level = :editor)
|
27
28
|
new({
|
28
|
-
|
29
|
-
|
29
|
+
'member' => Member.new(member),
|
30
|
+
'access_level' => access_level
|
30
31
|
})
|
31
32
|
end
|
32
33
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
class Base
|
3
4
|
class << self
|
@@ -46,7 +47,7 @@ module DropboxApi::Metadata
|
|
46
47
|
value = send field_name
|
47
48
|
case value
|
48
49
|
when Time
|
49
|
-
value.utc.strftime(
|
50
|
+
value.utc.strftime('%FT%TZ')
|
50
51
|
when DropboxApi::Metadata::Base
|
51
52
|
value.to_hash
|
52
53
|
else
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# Example of a serialized {BasicAccount} object:
|
3
4
|
#
|
@@ -15,7 +16,12 @@ module DropboxApi::Metadata
|
|
15
16
|
# "disabled": false,
|
16
17
|
# "is_teammate": true,
|
17
18
|
# "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbid%3AAAH4f99T0taONIb-OurWxbNQ6ywGRopQngc?vers=1453416696524&size=128x128",
|
18
|
-
# "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU"
|
19
|
+
# "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU",
|
20
|
+
# "root_info": {
|
21
|
+
# root_namespace_id: 7,
|
22
|
+
# home_namespace_id: 1,
|
23
|
+
# home_path: "/Franz Ferdinand"
|
24
|
+
# }
|
19
25
|
# }
|
20
26
|
# ```
|
21
27
|
class BasicAccount < Base
|
@@ -27,5 +33,6 @@ module DropboxApi::Metadata
|
|
27
33
|
field :is_teammate, :boolean, :optional
|
28
34
|
field :profile_photo_url, String, :optional
|
29
35
|
field :team_member_id, :boolean, :optional
|
36
|
+
field :root_info, DropboxApi::Metadata::RootInfo, :optional
|
30
37
|
end
|
31
38
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
class CommitInfo < Base
|
3
4
|
field :path, String
|
@@ -36,7 +37,7 @@ module DropboxApi::Metadata
|
|
36
37
|
end
|
37
38
|
|
38
39
|
def build_client_modified(client_modified)
|
39
|
-
client_modified.utc.strftime(
|
40
|
+
client_modified.utc.strftime('%FT%TZ')
|
40
41
|
end
|
41
42
|
end
|
42
43
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
class Field
|
3
4
|
def initialize(type, options = [])
|
@@ -24,13 +25,15 @@ module DropboxApi::Metadata
|
|
24
25
|
elsif @type == Float
|
25
26
|
object.to_f
|
26
27
|
elsif @type == Symbol
|
27
|
-
object[
|
28
|
+
object['.tag'].to_sym
|
28
29
|
elsif @type == :boolean
|
29
|
-
object.to_s ==
|
30
|
-
elsif @type.ancestors.include?
|
30
|
+
object.to_s == 'true'
|
31
|
+
elsif @type.ancestors.include?(DropboxApi::Metadata::Base) ||
|
32
|
+
@type.ancestors.include?(Array) ||
|
33
|
+
@type == DropboxApi::Metadata::Resource
|
31
34
|
@type.new(object)
|
32
35
|
else
|
33
|
-
raise NotImplementedError, "Can't cast `#{@type}`"
|
36
|
+
raise NotImplementedError, "Can't cast #{object} to `#{@type}`"
|
34
37
|
end
|
35
38
|
end
|
36
39
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# Example of a serialized {File} object:
|
3
4
|
#
|
@@ -33,7 +34,7 @@ module DropboxApi::Metadata
|
|
33
34
|
field :has_explicit_shared_members, :boolean, :optional
|
34
35
|
|
35
36
|
def to_hash
|
36
|
-
super.merge(
|
37
|
+
super.merge('.tag' => 'file')
|
37
38
|
end
|
38
39
|
end
|
39
40
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropboxApi::Metadata
|
4
|
+
class FileCategory < DropboxApi::Metadata::Tag
|
5
|
+
VALID_VALUES = %i[
|
6
|
+
image
|
7
|
+
document
|
8
|
+
pdf
|
9
|
+
spreadsheet
|
10
|
+
presentation
|
11
|
+
audio
|
12
|
+
video
|
13
|
+
folder
|
14
|
+
paper
|
15
|
+
others
|
16
|
+
].freeze
|
17
|
+
|
18
|
+
def self.valid_values
|
19
|
+
VALID_VALUES
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropboxApi::Metadata
|
4
|
+
class FileExtensionsList < Array
|
5
|
+
def initialize(data)
|
6
|
+
if !data.is_a?(Array) || data.any? { |v| !v.is_a? String }
|
7
|
+
raise ArgumentError, "Invalid extension list: #{data.inspect}."
|
8
|
+
end
|
9
|
+
|
10
|
+
super(data)
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# Example of a serialized FileMemberAction:
|
3
4
|
#
|
@@ -12,7 +13,7 @@ module DropboxApi::Metadata
|
|
12
13
|
class FileMemberAction < Base
|
13
14
|
class << self
|
14
15
|
def new(data)
|
15
|
-
tag = data[
|
16
|
+
tag = data['.tag']
|
16
17
|
class_for(tag.to_sym).new(data[tag])
|
17
18
|
end
|
18
19
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# Example of a serialized {Folder} object:
|
3
4
|
#
|
@@ -17,7 +18,7 @@ module DropboxApi::Metadata
|
|
17
18
|
field :sharing_info, DropboxApi::Metadata::FolderSharingInfo, :optional
|
18
19
|
|
19
20
|
def to_hash
|
20
|
-
super.merge(
|
21
|
+
super.merge('.tag' => 'folder')
|
21
22
|
end
|
22
23
|
end
|
23
24
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# Examples of serialized {AddMember} objects:
|
3
4
|
#
|
@@ -33,7 +34,7 @@ module DropboxApi::Metadata
|
|
33
34
|
private
|
34
35
|
|
35
36
|
def hash_from_email_or_dropbox_id(email_or_id)
|
36
|
-
if email_or_id.start_with?
|
37
|
+
if email_or_id.start_with? 'dbid:'
|
37
38
|
hash_from_dropbox_id email_or_id
|
38
39
|
elsif email_or_id =~ /\A[^@\s]+@[^@\s]+\z/
|
39
40
|
hash_from_email email_or_id
|
@@ -44,15 +45,15 @@ module DropboxApi::Metadata
|
|
44
45
|
|
45
46
|
def hash_from_dropbox_id(dropbox_id)
|
46
47
|
{
|
47
|
-
|
48
|
-
:
|
48
|
+
".tag": :dropbox_id,
|
49
|
+
dropbox_id: dropbox_id
|
49
50
|
}
|
50
51
|
end
|
51
52
|
|
52
53
|
def hash_from_email(email)
|
53
54
|
{
|
54
|
-
|
55
|
-
:
|
55
|
+
".tag": :email,
|
56
|
+
email: email
|
56
57
|
}
|
57
58
|
end
|
58
59
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Metadata
|
2
3
|
# This class is used as an adapter so we can create an object of the pertinent
|
3
4
|
# class when we need to infer the type from the data.
|
@@ -9,7 +10,7 @@ module DropboxApi::Metadata
|
|
9
10
|
class Resource
|
10
11
|
class << self
|
11
12
|
def new(data)
|
12
|
-
class_for(data[
|
13
|
+
class_for(data['.tag'].to_sym).new(data)
|
13
14
|
end
|
14
15
|
|
15
16
|
private
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module DropboxApi::Metadata
|
3
|
+
# Example of a serialized {RootInfo} object:
|
4
|
+
#
|
5
|
+
# ```json
|
6
|
+
# {
|
7
|
+
# ".tag":"user",
|
8
|
+
# "root_namespace_id":"42",
|
9
|
+
# "home_namespace_id":"42"
|
10
|
+
# }
|
11
|
+
# ```
|
12
|
+
class RootInfo < Base
|
13
|
+
class << self
|
14
|
+
def new(data)
|
15
|
+
class_for(data['.tag'].to_sym).new(data)
|
16
|
+
end
|
17
|
+
|
18
|
+
private
|
19
|
+
|
20
|
+
def class_for(tag)
|
21
|
+
case tag
|
22
|
+
when :user
|
23
|
+
DropboxApi::Metadata::UserRootInfo
|
24
|
+
when :team
|
25
|
+
DropboxApi::Metadata::TeamRootInfo
|
26
|
+
else
|
27
|
+
raise ArgumentError, "Unable to infer type for `#{tag}`"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropboxApi::Metadata
|
4
|
+
class SearchMatchTypeV2 < DropboxApi::Metadata::Tag
|
5
|
+
VALID_VALUES = %i[
|
6
|
+
filename
|
7
|
+
file_content
|
8
|
+
filename_and_content
|
9
|
+
image_content
|
10
|
+
].freeze
|
11
|
+
|
12
|
+
def self.valid_values
|
13
|
+
VALID_VALUES
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module DropboxApi::Metadata
|
4
|
+
class SearchMatchV2 < Base
|
5
|
+
# The metadata for the matched file or folder.
|
6
|
+
field :metadata, DropboxApi::Metadata::MetadataV2
|
7
|
+
|
8
|
+
# The type of the match. This field is optional.
|
9
|
+
field :match_type, SearchMatchTypeV2
|
10
|
+
|
11
|
+
def resource
|
12
|
+
# for some strange reason, v2 of this search endpoint doesn't have
|
13
|
+
# the `resource` field anymore and file metadata is wrapped in a
|
14
|
+
# metadata/metadata field...
|
15
|
+
metadata.metadata
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|