dropbox_api 0.1.16 → 0.1.20
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 +5 -5
- data/.gitignore +1 -0
- data/.rubocop.yml +15 -0
- data/.travis.yml +0 -2
- data/Gemfile +6 -1
- data/README.md +120 -24
- data/Rakefile +4 -3
- data/TODO.md +16 -7
- data/api_coverage.md +8 -8
- data/bin/console +4 -3
- data/docs/DropboxApi/Authenticator.html +12 -12
- data/docs/DropboxApi/ChunkedUploader.html +20 -20
- data/docs/DropboxApi/Client.html +3097 -971
- data/docs/DropboxApi/ConnectionBuilder.html +16 -16
- data/docs/DropboxApi/Endpoints/Auth/TokenRevoke.html +10 -10
- data/docs/DropboxApi/Endpoints/Auth.html +6 -6
- data/docs/DropboxApi/Endpoints/Base.html +9 -9
- data/docs/DropboxApi/Endpoints/ContentDownload.html +19 -19
- data/docs/DropboxApi/Endpoints/ContentUpload.html +17 -17
- data/docs/DropboxApi/Endpoints/Files/Copy.html +12 -12
- 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 +11 -11
- data/docs/DropboxApi/Endpoints/Files/CopyReferenceSave.html +12 -12
- data/docs/DropboxApi/Endpoints/Files/CreateFileRequest.html +10 -10
- data/docs/DropboxApi/Endpoints/Files/CreateFolder.html +11 -11
- 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 +11 -11
- 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 +11 -11
- data/docs/DropboxApi/Endpoints/Files/GetMetadata.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/GetPreview.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/GetTemporaryLink.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/GetThumbnail.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/GetThumbnailBatch.html +15 -15
- data/docs/DropboxApi/Endpoints/Files/ListFolder.html +36 -17
- data/docs/DropboxApi/Endpoints/Files/ListFolderContinue.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/ListFolderGetLatestCursor.html +10 -10
- data/docs/DropboxApi/Endpoints/Files/ListFolderLongpoll.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/ListRevisions.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/Move.html +12 -12
- data/docs/DropboxApi/Endpoints/Files/PermanentlyDelete.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/Restore.html +12 -12
- data/docs/DropboxApi/Endpoints/Files/SaveUrl.html +12 -12
- data/docs/DropboxApi/Endpoints/Files/SaveUrlCheckJobStatus.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/Search.html +48 -96
- data/docs/DropboxApi/Endpoints/Files/Upload.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/UploadSessionAppendV2.html +11 -11
- data/docs/DropboxApi/Endpoints/Files/UploadSessionFinish.html +12 -12
- data/docs/DropboxApi/Endpoints/Files/UploadSessionStart.html +12 -12
- data/docs/DropboxApi/Endpoints/Files.html +8 -8
- data/docs/DropboxApi/Endpoints/Rpc.html +18 -18
- data/docs/DropboxApi/Endpoints/RpcContent.html +11 -11
- data/docs/DropboxApi/Endpoints/RpcNotify.html +11 -11
- data/docs/DropboxApi/Endpoints/Sharing/AddFileMember.html +12 -12
- data/docs/DropboxApi/Endpoints/Sharing/AddFolderMember.html +12 -12
- data/docs/DropboxApi/Endpoints/Sharing/CreateSharedLinkWithSettings.html +107 -16
- data/docs/DropboxApi/Endpoints/Sharing/GetSharedLinkMetadata.html +11 -11
- data/docs/DropboxApi/Endpoints/Sharing/ListFileMembers.html +12 -12
- data/docs/DropboxApi/Endpoints/Sharing/ListFolderMembers.html +12 -12
- data/docs/DropboxApi/Endpoints/Sharing/ListSharedLinks.html +10 -10
- data/docs/DropboxApi/Endpoints/Sharing/RevokeSharedLink.html +293 -0
- data/docs/DropboxApi/Endpoints/Sharing/ShareFolder.html +11 -11
- data/docs/DropboxApi/Endpoints/Sharing/UnshareFile.html +11 -11
- data/docs/DropboxApi/Endpoints/Sharing.html +8 -8
- data/docs/DropboxApi/Endpoints/Users/GetAccount.html +11 -11
- data/docs/DropboxApi/Endpoints/Users/GetAccountBatch.html +11 -11
- data/docs/DropboxApi/Endpoints/Users/GetCurrentAccount.html +10 -10
- data/docs/DropboxApi/Endpoints/Users/GetSpaceUsage.html +10 -10
- 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/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 +6 -6
- 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/ParentFolderAccessInfo.html +6 -6
- data/docs/DropboxApi/Metadata/PhotoMetadata.html +6 -6
- data/docs/DropboxApi/Metadata/Resource.html +10 -10
- 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/ThumbnailBatchResultData.html +6 -6
- data/docs/DropboxApi/Metadata/ThumbnailBatchResultEntry.html +11 -11
- data/docs/DropboxApi/Metadata/UploadSessionCursor.html +9 -9
- 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/Stack.html +22 -22
- data/docs/DropboxApi/MiddleWare.html +6 -6
- 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 +208 -12
- 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 +28 -23
- 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 +28 -23
- data/docs/js/app.js +25 -3
- data/docs/method_list.html +538 -290
- data/docs/top-level-namespace.html +6 -6
- data/dropbox_api.gemspec +15 -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 +3 -2
- 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 +82 -28
- data/CHANGES.md +0 -7
- data/lib/dropbox_api/results/search_result.rb +0 -22
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module DropboxApi::Metadata
|
|
4
|
+
class SearchOptions < Base
|
|
5
|
+
# Scopes the search to a path in the user's Dropbox. Searches the entire
|
|
6
|
+
# Dropbox if not specified. This field is optional.
|
|
7
|
+
field :path, String, :optional
|
|
8
|
+
|
|
9
|
+
# The maximum number of search results to return. The default for this
|
|
10
|
+
# field is 100.
|
|
11
|
+
field :max_results, Integer, :optional
|
|
12
|
+
|
|
13
|
+
# Specified property of the order of search results. By default, results
|
|
14
|
+
# are sorted by relevance. This field is optional.
|
|
15
|
+
field :order_by, DropboxApi::Metadata::SearchOrderBy, :optional
|
|
16
|
+
|
|
17
|
+
# Restricts search to the given file status. The default for this union
|
|
18
|
+
# is active.
|
|
19
|
+
field :file_status, DropboxApi::Metadata::FileStatus, :optional
|
|
20
|
+
|
|
21
|
+
# Restricts search to only match on filenames. The default for this field
|
|
22
|
+
# is false.
|
|
23
|
+
field :filename_only, :boolean, :optional
|
|
24
|
+
|
|
25
|
+
# Restricts search to only the extensions specified. Only supported for
|
|
26
|
+
# active file search. This field is optional.
|
|
27
|
+
field :file_extensions, DropboxApi::Metadata::FileExtensionsList, :optional
|
|
28
|
+
|
|
29
|
+
# Restricts search to only the file categories specified. Only supported
|
|
30
|
+
# for active file search. This field is optional.
|
|
31
|
+
field :file_categories, DropboxApi::Metadata::FileCategoriesList, :optional
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Metadata
|
|
2
3
|
class SharedLink < Base
|
|
3
4
|
VALID_KEYS = [:url, :password]
|
|
@@ -6,7 +7,7 @@ module DropboxApi::Metadata
|
|
|
6
7
|
@shared_link =
|
|
7
8
|
case param
|
|
8
9
|
when String
|
|
9
|
-
{:
|
|
10
|
+
{url: param}
|
|
10
11
|
when Hash
|
|
11
12
|
param
|
|
12
13
|
end
|
|
@@ -16,7 +17,7 @@ module DropboxApi::Metadata
|
|
|
16
17
|
|
|
17
18
|
def check_validity
|
|
18
19
|
if @shared_link[:url].nil?
|
|
19
|
-
raise ArgumentError,
|
|
20
|
+
raise ArgumentError, 'Missing `:url` option'
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
@shared_link.keys.each do |key|
|
|
@@ -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.
|
|
@@ -6,7 +7,7 @@ module DropboxApi::Metadata
|
|
|
6
7
|
class SharedLinkMetadata
|
|
7
8
|
class << self
|
|
8
9
|
def new(data)
|
|
9
|
-
class_for(data[
|
|
10
|
+
class_for(data['.tag'].to_sym).new(data)
|
|
10
11
|
end
|
|
11
12
|
|
|
12
13
|
private
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Metadata
|
|
2
3
|
class Tag < DropboxApi::Metadata::Base
|
|
3
4
|
def self.new(data)
|
|
@@ -5,7 +6,7 @@ module DropboxApi::Metadata
|
|
|
5
6
|
when ::Symbol
|
|
6
7
|
validate(data)
|
|
7
8
|
when Hash
|
|
8
|
-
new(data[
|
|
9
|
+
new(data['.tag'].to_sym)
|
|
9
10
|
when String
|
|
10
11
|
new(data.to_sym)
|
|
11
12
|
else
|
|
@@ -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,11 +10,11 @@ module DropboxApi::Metadata
|
|
|
9
10
|
class ThumbnailBatchResultEntry
|
|
10
11
|
class << self
|
|
11
12
|
def new(data)
|
|
12
|
-
case data[
|
|
13
|
+
case data['.tag'].to_sym
|
|
13
14
|
when :success
|
|
14
15
|
DropboxApi::Metadata::ThumbnailBatchResultData.new(data)
|
|
15
16
|
when :failure
|
|
16
|
-
DropboxApi::Errors::ThumbnailError.build(
|
|
17
|
+
DropboxApi::Errors::ThumbnailError.build('Thumbnail generation failed', data['failure'])
|
|
17
18
|
else
|
|
18
19
|
raise NotImplementedError, "Unknown result type: #{data[".tag"]}"
|
|
19
20
|
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Metadata
|
|
2
3
|
# Your intent when writing a file to some path. This is used to determine
|
|
3
4
|
# what constitutes a conflict and what the autorename strategy is.
|
|
@@ -48,22 +49,22 @@ module DropboxApi::Metadata
|
|
|
48
49
|
@write_mode = write_mode
|
|
49
50
|
when String, ::Symbol
|
|
50
51
|
@write_mode = {
|
|
51
|
-
|
|
52
|
+
'.tag' => write_mode
|
|
52
53
|
}
|
|
53
54
|
@write_mode[write_mode.to_s] = options unless options.nil?
|
|
54
55
|
end
|
|
55
|
-
@write_mode[
|
|
56
|
+
@write_mode['.tag'] = @write_mode['.tag'].to_sym
|
|
56
57
|
|
|
57
58
|
check_validity
|
|
58
59
|
end
|
|
59
60
|
|
|
60
61
|
def check_validity
|
|
61
|
-
unless valid_mode? @write_mode[
|
|
62
|
+
unless valid_mode? @write_mode['.tag']
|
|
62
63
|
raise ArgumentError, "Invalid write mode: #{@write_mode[".tag"]}"
|
|
63
64
|
end
|
|
64
65
|
|
|
65
|
-
if @write_mode[
|
|
66
|
-
raise ArgumentError,
|
|
66
|
+
if @write_mode['.tag'] == :update && @write_mode['update'].nil?
|
|
67
|
+
raise ArgumentError, 'Mode `:update` expects a `rev` number'
|
|
67
68
|
end
|
|
68
69
|
end
|
|
69
70
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::MiddleWare
|
|
2
3
|
class DecodeResult < Faraday::Middleware
|
|
3
4
|
def call(rq_env)
|
|
@@ -14,7 +15,7 @@ module DropboxApi::MiddleWare
|
|
|
14
15
|
# Dropbox may send a response with the string 'null' in its body, this
|
|
15
16
|
# would be a void result. `add_folder_member` is an example of an
|
|
16
17
|
# endpoint without return values.
|
|
17
|
-
if json ==
|
|
18
|
+
if json == 'null'
|
|
18
19
|
{}
|
|
19
20
|
else
|
|
20
21
|
JSON.parse json
|
|
@@ -22,5 +23,5 @@ module DropboxApi::MiddleWare
|
|
|
22
23
|
end
|
|
23
24
|
end
|
|
24
25
|
|
|
25
|
-
Faraday::Response.register_middleware :
|
|
26
|
+
Faraday::Response.register_middleware decode_result: DecodeResult
|
|
26
27
|
end
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::MiddleWare
|
|
3
|
+
class PathRoot < Faraday::Middleware
|
|
4
|
+
HEADER_NAME = 'Dropbox-API-Path-Root'
|
|
5
|
+
|
|
6
|
+
def initialize(app, options = {})
|
|
7
|
+
super(app)
|
|
8
|
+
@options = options
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def namespace_id
|
|
12
|
+
if @options[:namespace_id].nil?
|
|
13
|
+
return nil
|
|
14
|
+
else
|
|
15
|
+
return @options[:namespace_id]
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def namespace_id_header_value
|
|
20
|
+
JSON.dump(
|
|
21
|
+
DropboxApi::Metadata::NamespaceId.new({
|
|
22
|
+
'namespace_id' => namespace_id
|
|
23
|
+
}).to_hash
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def call(env)
|
|
28
|
+
if !namespace_id.nil?
|
|
29
|
+
env[:request_headers][HEADER_NAME] ||= namespace_id_header_value
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
@app.call env
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi
|
|
2
3
|
class ResultBuilder
|
|
3
4
|
def initialize(response_data)
|
|
@@ -5,11 +6,11 @@ module DropboxApi
|
|
|
5
6
|
end
|
|
6
7
|
|
|
7
8
|
def error_summary
|
|
8
|
-
@response_data[
|
|
9
|
+
@response_data['error_summary'] if @response_data.is_a? Hash
|
|
9
10
|
end
|
|
10
11
|
|
|
11
12
|
def error
|
|
12
|
-
@response_data[
|
|
13
|
+
@response_data['error']
|
|
13
14
|
end
|
|
14
15
|
|
|
15
16
|
def has_error?
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
class CopyBatchResult < DropboxApi::Results::Base
|
|
4
|
+
def self.new(result_data)
|
|
5
|
+
case result_data['.tag']
|
|
6
|
+
when 'async_job_id'
|
|
7
|
+
result_data['async_job_id']
|
|
8
|
+
when 'complete'
|
|
9
|
+
RelocationBatchResult.new(result_data)
|
|
10
|
+
else
|
|
11
|
+
raise NotImplementedError, "Unknown result type: #{result_data['.tag']}"
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
# Result returned by {Client#create_folder_batch} that may either launch an
|
|
4
|
+
# asynchronous job or complete synchronously.
|
|
5
|
+
#
|
|
6
|
+
# The value will be either a job id or a list of job statuses.
|
|
7
|
+
class CreateFolderBatchResult < DropboxApi::Results::Base
|
|
8
|
+
def self.new(result_data)
|
|
9
|
+
case result_data['.tag']
|
|
10
|
+
when 'async_job_id'
|
|
11
|
+
result_data
|
|
12
|
+
when 'complete'
|
|
13
|
+
result_data['entries'].map do |entry|
|
|
14
|
+
DropboxApi::Results::CreateFolderBatchResultEntry.new(entry)
|
|
15
|
+
end
|
|
16
|
+
else
|
|
17
|
+
raise NotImplementedError, "Unknown result type: #{result_data['.tag']}"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
class CreateFolderBatchResultEntry < DropboxApi::Results::Base
|
|
4
|
+
def self.new(result_data)
|
|
5
|
+
case result_data['.tag']
|
|
6
|
+
when 'success'
|
|
7
|
+
DropboxApi::Metadata::Folder.new result_data['metadata']
|
|
8
|
+
when 'failure'
|
|
9
|
+
# At the moment, this is a `CreateFolderEntryError` which is an open
|
|
10
|
+
# union that can only be a `WriteError`. In the future, more errors
|
|
11
|
+
# could be added to the API which means we'd have to implement the
|
|
12
|
+
# actual `CreateFolderEntryError` class.
|
|
13
|
+
DropboxApi::Errors::WriteError
|
|
14
|
+
.build('Folder operation failed', result_data['failure']['path'])
|
|
15
|
+
else
|
|
16
|
+
raise NotImplementedError, "Unknown result type: #{result_data['.tag']}"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
# Result returned by {Client#delete_batch} that may either launch an
|
|
4
|
+
# asynchronous job or complete synchronously.
|
|
5
|
+
#
|
|
6
|
+
# The value will be either a job id or a list of job statuses.
|
|
7
|
+
class DeleteBatchResult < DropboxApi::Results::Base
|
|
8
|
+
def self.new(result_data)
|
|
9
|
+
case result_data['.tag']
|
|
10
|
+
when 'async_job_id'
|
|
11
|
+
result_data
|
|
12
|
+
when 'complete'
|
|
13
|
+
result_data['entries'].map do |entry|
|
|
14
|
+
DropboxApi::Results::DeleteBatchResultEntry.new(entry)
|
|
15
|
+
end
|
|
16
|
+
else
|
|
17
|
+
raise NotImplementedError, "Unknown result type: #{result_data[".tag"]}"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
class DeleteBatchResultEntry < DropboxApi::Results::Base
|
|
4
|
+
def self.new(result_data)
|
|
5
|
+
case result_data['.tag']
|
|
6
|
+
when 'success'
|
|
7
|
+
DropboxApi::Metadata::Resource.new result_data['metadata']
|
|
8
|
+
when 'failure'
|
|
9
|
+
DropboxApi::Errors::DeleteError
|
|
10
|
+
.build('Delete operation failed', result_data['failure'])
|
|
11
|
+
else
|
|
12
|
+
raise NotImplementedError, "Unknown result type: #{result_data['.tag']}"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class GetCopyReferenceResult < DropboxApi::Results::Base
|
|
3
4
|
# Metadata of the file or folder.
|
|
4
5
|
def resource
|
|
5
|
-
@resource ||= DropboxApi::Metadata::Resource.new @data[
|
|
6
|
+
@resource ||= DropboxApi::Metadata::Resource.new @data['metadata']
|
|
6
7
|
end
|
|
7
8
|
|
|
8
9
|
# A copy reference to the file or folder.
|
|
9
10
|
def copy_reference
|
|
10
|
-
@copy_reference ||= @data[
|
|
11
|
+
@copy_reference ||= @data['copy_reference']
|
|
11
12
|
end
|
|
12
13
|
|
|
13
14
|
# The expiration date of the copy reference.
|
|
14
15
|
# This value is currently set to be far enough in the future
|
|
15
16
|
# so that expiration is effectively not an issue.
|
|
16
17
|
def expires
|
|
17
|
-
@expires ||= Time.parse(@data[
|
|
18
|
+
@expires ||= Time.parse(@data['expires'])
|
|
18
19
|
end
|
|
19
20
|
end
|
|
20
21
|
end
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class GetTemporaryLinkResult < DropboxApi::Results::Base
|
|
3
4
|
def file
|
|
4
|
-
@file ||= DropboxApi::Metadata::File.new(@data[
|
|
5
|
+
@file ||= DropboxApi::Metadata::File.new(@data['metadata'])
|
|
5
6
|
end
|
|
6
7
|
|
|
7
8
|
def link
|
|
8
|
-
@data[
|
|
9
|
+
@data['link']
|
|
9
10
|
end
|
|
10
11
|
end
|
|
11
12
|
end
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class GetThumbnailBatchResult < DropboxApi::Results::Base
|
|
3
4
|
def entries
|
|
4
|
-
@entries ||= @data[
|
|
5
|
+
@entries ||= @data['entries'].map do |entry|
|
|
5
6
|
DropboxApi::Metadata::ThumbnailBatchResultEntry.new entry
|
|
6
7
|
end
|
|
7
8
|
end
|
|
@@ -1,15 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class ListFolderLongpollResult < DropboxApi::Results::Base
|
|
3
4
|
# Indicates whether new changes are available. If true, call
|
|
4
5
|
# `list_folder_continue` to retrieve the changes.
|
|
5
6
|
def changes
|
|
6
|
-
@data[
|
|
7
|
+
@data['changes'].to_s == 'true'
|
|
7
8
|
end
|
|
8
9
|
|
|
9
10
|
# If present, backoff for at least this many seconds before calling
|
|
10
11
|
# `list_folder_longpoll` again. This field is optional.
|
|
11
12
|
def backoff
|
|
12
|
-
@data[
|
|
13
|
+
@data['backoff']
|
|
13
14
|
end
|
|
14
15
|
end
|
|
15
16
|
end
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class ListFolderResult < DropboxApi::Results::Base
|
|
3
4
|
# A collection of files and directories.
|
|
4
5
|
def entries
|
|
5
|
-
@entries ||= @data[
|
|
6
|
+
@entries ||= @data['entries'].map do |entry|
|
|
6
7
|
DropboxApi::Metadata::Resource.new entry
|
|
7
8
|
end
|
|
8
9
|
end
|
|
@@ -10,13 +11,13 @@ module DropboxApi::Results
|
|
|
10
11
|
# Pass the cursor into `list_folder_continue` to see what's changed in the
|
|
11
12
|
# folder since your previous query.
|
|
12
13
|
def cursor
|
|
13
|
-
@data[
|
|
14
|
+
@data['cursor']
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
# If true, then there are more entries available. Pass the cursor to
|
|
17
18
|
# `list_folder_continue` to retrieve the rest.
|
|
18
19
|
def has_more?
|
|
19
|
-
@data[
|
|
20
|
+
@data['has_more'].to_s == 'true'
|
|
20
21
|
end
|
|
21
22
|
end
|
|
22
23
|
end
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class ListRevisionsResult < DropboxApi::Results::Base
|
|
3
4
|
# A collection of files and directories.
|
|
4
5
|
def entries
|
|
5
|
-
@entries ||= @data[
|
|
6
|
+
@entries ||= @data['entries'].map do |entry|
|
|
6
7
|
DropboxApi::Metadata::File.new entry
|
|
7
8
|
end
|
|
8
9
|
end
|
|
9
10
|
|
|
10
11
|
def is_deleted?
|
|
11
|
-
@data[
|
|
12
|
+
@data['is_deleted'] == true
|
|
12
13
|
end
|
|
13
14
|
end
|
|
14
15
|
end
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class ListSharedLinksResult < DropboxApi::Results::Base
|
|
3
4
|
# Shared links applicable to the path argument.
|
|
4
5
|
def links
|
|
5
|
-
@entries ||= @data[
|
|
6
|
+
@entries ||= @data['links'].map do |entry|
|
|
6
7
|
DropboxApi::Metadata::SharedLinkMetadata.new entry
|
|
7
8
|
end
|
|
8
9
|
end
|
|
@@ -10,13 +11,13 @@ module DropboxApi::Results
|
|
|
10
11
|
# Pass the cursor into `list_folder_continue` to see what's changed in the
|
|
11
12
|
# folder since your previous query.
|
|
12
13
|
def cursor
|
|
13
|
-
@data[
|
|
14
|
+
@data['cursor']
|
|
14
15
|
end
|
|
15
16
|
|
|
16
17
|
# If true, then there are more entries available. Pass the cursor to
|
|
17
18
|
# `list_folder_continue` to retrieve the rest.
|
|
18
19
|
def has_more?
|
|
19
|
-
@data[
|
|
20
|
+
@data['has_more'].to_s == 'true'
|
|
20
21
|
end
|
|
21
22
|
end
|
|
22
23
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
# Result returned by {Client#copy_batch} or {Client#move_batch} that may
|
|
4
|
+
# either launch an asynchronous job or complete synchronously.
|
|
5
|
+
#
|
|
6
|
+
# The value will be either `:in_progress` or a list of job statuses.
|
|
7
|
+
class RelocationBatchResult < DropboxApi::Results::Base
|
|
8
|
+
def self.new(result_data)
|
|
9
|
+
case result_data['.tag']
|
|
10
|
+
when 'in_progress'
|
|
11
|
+
:in_progress
|
|
12
|
+
when 'complete'
|
|
13
|
+
result_data['entries'].map do |entry|
|
|
14
|
+
DropboxApi::Results::RelocationBatchResultEntry.new(entry)
|
|
15
|
+
end
|
|
16
|
+
else
|
|
17
|
+
raise NotImplementedError, "Unknown result type: #{result_data['.tag']}"
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
module DropboxApi::Results
|
|
3
|
+
class RelocationBatchResultEntry < DropboxApi::Results::Base
|
|
4
|
+
def self.new(result_data)
|
|
5
|
+
case result_data['.tag']
|
|
6
|
+
when 'success'
|
|
7
|
+
DropboxApi::Metadata::Resource.new result_data['success']
|
|
8
|
+
when 'failure'
|
|
9
|
+
DropboxApi::Errors::RelocationBatchEntryError
|
|
10
|
+
.build('File or folder operation failed', result_data['failure'])
|
|
11
|
+
else
|
|
12
|
+
raise NotImplementedError, "Unknown result type: #{result_data['.tag']}"
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
1
2
|
module DropboxApi::Results
|
|
2
3
|
class SaveCopyReferenceResult < DropboxApi::Results::Base
|
|
3
4
|
# The saved file or folder in the user's Dropbox.
|
|
4
5
|
def resource
|
|
5
|
-
@resource ||= DropboxApi::Metadata::Resource.new @data[
|
|
6
|
+
@resource ||= DropboxApi::Metadata::Resource.new @data['metadata']
|
|
6
7
|
end
|
|
7
8
|
end
|
|
8
9
|
end
|