dropbox_api 0.1.18 → 0.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -8
  3. data/.travis.yml +0 -2
  4. data/Gemfile +24 -3
  5. data/README.md +120 -24
  6. data/Rakefile +4 -3
  7. data/TODO.md +8 -0
  8. data/api_coverage.md +1 -1
  9. data/bin/console +4 -3
  10. data/docs/DropboxApi/Authenticator.html +14 -20
  11. data/docs/DropboxApi/ChunkedUploader.html +20 -20
  12. data/docs/DropboxApi/Client.html +2010 -915
  13. data/docs/DropboxApi/ConnectionBuilder.html +266 -31
  14. data/docs/DropboxApi/Endpoints/Auth/TokenRevoke.html +13 -13
  15. data/docs/DropboxApi/Endpoints/Auth.html +6 -6
  16. data/docs/DropboxApi/Endpoints/Base.html +92 -11
  17. data/docs/DropboxApi/Endpoints/ContentDownload.html +37 -48
  18. data/docs/DropboxApi/Endpoints/ContentUpload.html +35 -46
  19. data/docs/DropboxApi/Endpoints/Files/Copy.html +15 -15
  20. data/docs/DropboxApi/Endpoints/Files/CopyBatch.html +14 -14
  21. data/docs/DropboxApi/Endpoints/Files/CopyBatchCheck.html +14 -14
  22. data/docs/DropboxApi/Endpoints/Files/CopyReferenceGet.html +14 -14
  23. data/docs/DropboxApi/Endpoints/Files/CopyReferenceSave.html +15 -15
  24. data/docs/DropboxApi/Endpoints/Files/CreateFileRequest.html +15 -15
  25. data/docs/DropboxApi/Endpoints/Files/CreateFolder.html +14 -14
  26. data/docs/DropboxApi/Endpoints/Files/CreateFolderBatch.html +14 -14
  27. data/docs/DropboxApi/Endpoints/Files/CreateFolderBatchCheck.html +14 -14
  28. data/docs/DropboxApi/Endpoints/Files/Delete.html +14 -14
  29. data/docs/DropboxApi/Endpoints/Files/DeleteBatch.html +14 -14
  30. data/docs/DropboxApi/Endpoints/Files/DeleteBatchCheck.html +14 -14
  31. data/docs/DropboxApi/Endpoints/Files/Download.html +14 -14
  32. data/docs/DropboxApi/Endpoints/Files/GetMetadata.html +14 -14
  33. data/docs/DropboxApi/Endpoints/Files/GetPreview.html +14 -14
  34. data/docs/DropboxApi/Endpoints/Files/GetTemporaryLink.html +14 -14
  35. data/docs/DropboxApi/Endpoints/Files/GetThumbnail.html +14 -14
  36. data/docs/DropboxApi/Endpoints/Files/GetThumbnailBatch.html +19 -19
  37. data/docs/DropboxApi/Endpoints/Files/ListFolder.html +14 -14
  38. data/docs/DropboxApi/Endpoints/Files/ListFolderContinue.html +14 -14
  39. data/docs/DropboxApi/Endpoints/Files/ListFolderGetLatestCursor.html +13 -13
  40. data/docs/DropboxApi/Endpoints/Files/ListFolderLongpoll.html +15 -15
  41. data/docs/DropboxApi/Endpoints/Files/ListRevisions.html +14 -14
  42. data/docs/DropboxApi/Endpoints/Files/Move.html +15 -15
  43. data/docs/DropboxApi/Endpoints/Files/PermanentlyDelete.html +14 -14
  44. data/docs/DropboxApi/Endpoints/Files/Restore.html +15 -15
  45. data/docs/DropboxApi/Endpoints/Files/SaveUrl.html +15 -15
  46. data/docs/DropboxApi/Endpoints/Files/SaveUrlCheckJobStatus.html +14 -14
  47. data/docs/DropboxApi/Endpoints/Files/Search.html +51 -99
  48. data/docs/DropboxApi/Endpoints/Files/SearchContinue.html +300 -0
  49. data/docs/DropboxApi/Endpoints/Files/Upload.html +13 -13
  50. data/docs/DropboxApi/Endpoints/Files/UploadSessionAppendV2.html +14 -14
  51. data/docs/DropboxApi/Endpoints/Files/UploadSessionFinish.html +15 -15
  52. data/docs/DropboxApi/Endpoints/Files/UploadSessionStart.html +15 -15
  53. data/docs/DropboxApi/Endpoints/Files.html +8 -8
  54. data/docs/DropboxApi/Endpoints/Rpc.html +36 -47
  55. data/docs/DropboxApi/Endpoints/RpcContent.html +28 -33
  56. data/docs/DropboxApi/Endpoints/RpcNotify.html +28 -33
  57. data/docs/DropboxApi/Endpoints/Sharing/AddFileMember.html +15 -15
  58. data/docs/DropboxApi/Endpoints/Sharing/AddFolderMember.html +15 -15
  59. data/docs/DropboxApi/Endpoints/Sharing/CreateSharedLinkWithSettings.html +15 -15
  60. data/docs/DropboxApi/Endpoints/Sharing/GetSharedLinkMetadata.html +14 -14
  61. data/docs/DropboxApi/Endpoints/Sharing/ListFileMembers.html +15 -15
  62. data/docs/DropboxApi/Endpoints/Sharing/ListFolderMembers.html +15 -15
  63. data/docs/DropboxApi/Endpoints/Sharing/ListSharedLinks.html +13 -13
  64. data/docs/DropboxApi/Endpoints/Sharing/RevokeSharedLink.html +14 -14
  65. data/docs/DropboxApi/Endpoints/Sharing/ShareFolder.html +14 -14
  66. data/docs/DropboxApi/Endpoints/Sharing/UnshareFile.html +14 -14
  67. data/docs/DropboxApi/Endpoints/Sharing.html +6 -6
  68. data/docs/DropboxApi/Endpoints/Users/GetAccount.html +14 -14
  69. data/docs/DropboxApi/Endpoints/Users/GetAccountBatch.html +14 -14
  70. data/docs/DropboxApi/Endpoints/Users/GetCurrentAccount.html +13 -13
  71. data/docs/DropboxApi/Endpoints/Users/GetSpaceUsage.html +13 -13
  72. data/docs/DropboxApi/Endpoints/Users.html +6 -6
  73. data/docs/DropboxApi/Endpoints.html +6 -6
  74. data/docs/DropboxApi/Errors/AddFileMemberError.html +10 -10
  75. data/docs/DropboxApi/Errors/AddFolderMemberError.html +16 -16
  76. data/docs/DropboxApi/Errors/AddMemberSelectorError.html +11 -11
  77. data/docs/DropboxApi/Errors/AlreadySharedError.html +9 -9
  78. data/docs/DropboxApi/Errors/BadPathError.html +6 -6
  79. data/docs/DropboxApi/Errors/BasicError.html +18 -18
  80. data/docs/DropboxApi/Errors/CantCopySharedFolderError.html +6 -6
  81. data/docs/DropboxApi/Errors/CantMoveFolderIntoItselfError.html +6 -6
  82. data/docs/DropboxApi/Errors/CantNestSharedFolderError.html +6 -6
  83. data/docs/DropboxApi/Errors/CantShareOutsideTeamError.html +6 -6
  84. data/docs/DropboxApi/Errors/ContainsSharedFolderError.html +6 -6
  85. data/docs/DropboxApi/Errors/ConversionError.html +6 -6
  86. data/docs/DropboxApi/Errors/CreateFileRequestError.html +6 -6
  87. data/docs/DropboxApi/Errors/CreateFolderBatchError.html +7 -7
  88. data/docs/DropboxApi/Errors/CreateFolderError.html +7 -7
  89. data/docs/DropboxApi/Errors/CreateSharedLinkWithSettingsError.html +11 -11
  90. data/docs/DropboxApi/Errors/CursorClosedError.html +6 -6
  91. data/docs/DropboxApi/Errors/CursorNotClosedError.html +6 -6
  92. data/docs/DropboxApi/Errors/DeleteError.html +9 -9
  93. data/docs/DropboxApi/Errors/DisallowedNameError.html +6 -6
  94. data/docs/DropboxApi/Errors/DisallowedSharedLinkPolicyError.html +6 -6
  95. data/docs/DropboxApi/Errors/DownloadError.html +7 -7
  96. data/docs/DropboxApi/Errors/DownloadFailedError.html +6 -6
  97. data/docs/DropboxApi/Errors/EmailUnverifiedError.html +6 -6
  98. data/docs/DropboxApi/Errors/ExpiredAccessTokenError.html +143 -0
  99. data/docs/DropboxApi/Errors/FileAncestorConflictError.html +6 -6
  100. data/docs/DropboxApi/Errors/FileConflictError.html +6 -6
  101. data/docs/DropboxApi/Errors/FileMemberActionError.html +10 -10
  102. data/docs/DropboxApi/Errors/FolderConflictError.html +6 -6
  103. data/docs/DropboxApi/Errors/GetAccountError.html +7 -7
  104. data/docs/DropboxApi/Errors/GetCopyReferenceError.html +7 -7
  105. data/docs/DropboxApi/Errors/GetMetadataError.html +7 -7
  106. data/docs/DropboxApi/Errors/GroupDeletedError.html +6 -6
  107. data/docs/DropboxApi/Errors/GroupNotOnTeamError.html +6 -6
  108. data/docs/DropboxApi/Errors/HttpError.html +6 -6
  109. data/docs/DropboxApi/Errors/InProgressError.html +6 -6
  110. data/docs/DropboxApi/Errors/InsideAppFolderError.html +6 -6
  111. data/docs/DropboxApi/Errors/InsideOsxPackageError.html +6 -6
  112. data/docs/DropboxApi/Errors/InsidePublicFolderError.html +6 -6
  113. data/docs/DropboxApi/Errors/InsideSharedFolderError.html +6 -6
  114. data/docs/DropboxApi/Errors/InsufficientPlanError.html +6 -6
  115. data/docs/DropboxApi/Errors/InsufficientSpaceError.html +6 -6
  116. data/docs/DropboxApi/Errors/InternalError.html +6 -6
  117. data/docs/DropboxApi/Errors/InvalidCommentError.html +6 -6
  118. data/docs/DropboxApi/Errors/InvalidCopyReferenceError.html +6 -6
  119. data/docs/DropboxApi/Errors/InvalidCursorError.html +6 -6
  120. data/docs/DropboxApi/Errors/InvalidDropboxIdError.html +6 -6
  121. data/docs/DropboxApi/Errors/InvalidEmailError.html +6 -6
  122. data/docs/DropboxApi/Errors/InvalidFileError.html +6 -6
  123. data/docs/DropboxApi/Errors/InvalidIdError.html +6 -6
  124. data/docs/DropboxApi/Errors/InvalidMemberError.html +6 -6
  125. data/docs/DropboxApi/Errors/InvalidPathError.html +6 -6
  126. data/docs/DropboxApi/Errors/InvalidRevisionError.html +6 -6
  127. data/docs/DropboxApi/Errors/InvalidSettingsError.html +6 -6
  128. data/docs/DropboxApi/Errors/InvalidUrlError.html +6 -6
  129. data/docs/DropboxApi/Errors/IsAppFolderError.html +6 -6
  130. data/docs/DropboxApi/Errors/IsFileError.html +6 -6
  131. data/docs/DropboxApi/Errors/IsFolderError.html +6 -6
  132. data/docs/DropboxApi/Errors/IsOsxPackageError.html +6 -6
  133. data/docs/DropboxApi/Errors/IsPublicFolderError.html +6 -6
  134. data/docs/DropboxApi/Errors/ListFolderContinueError.html +8 -8
  135. data/docs/DropboxApi/Errors/ListFolderError.html +7 -7
  136. data/docs/DropboxApi/Errors/ListFolderLongpollError.html +7 -7
  137. data/docs/DropboxApi/Errors/ListRevisionsError.html +7 -7
  138. data/docs/DropboxApi/Errors/ListSharedLinksError.html +8 -8
  139. data/docs/DropboxApi/Errors/LookupError.html +11 -11
  140. data/docs/DropboxApi/Errors/MalformedPathError.html +6 -6
  141. data/docs/DropboxApi/Errors/NoAccountError.html +6 -6
  142. data/docs/DropboxApi/Errors/NoPermissionError.html +6 -6
  143. data/docs/DropboxApi/Errors/NoWritePermissionError.html +6 -6
  144. data/docs/DropboxApi/Errors/NotAMemberError.html +6 -6
  145. data/docs/DropboxApi/Errors/NotFileError.html +6 -6
  146. data/docs/DropboxApi/Errors/NotFolderError.html +6 -6
  147. data/docs/DropboxApi/Errors/NotFoundError.html +6 -6
  148. data/docs/DropboxApi/Errors/PollError.html +8 -8
  149. data/docs/DropboxApi/Errors/PreviewError.html +10 -10
  150. data/docs/DropboxApi/Errors/RateLimitError.html +6 -6
  151. data/docs/DropboxApi/Errors/RelocationBatchEntryError.html +9 -9
  152. data/docs/DropboxApi/Errors/RelocationError.html +13 -13
  153. data/docs/DropboxApi/Errors/RestoreError.html +9 -9
  154. data/docs/DropboxApi/Errors/RestrictedContentError.html +6 -6
  155. data/docs/DropboxApi/Errors/RevokeSharedLinkError.html +10 -10
  156. data/docs/DropboxApi/Errors/SaveCopyReferenceError.html +11 -11
  157. data/docs/DropboxApi/Errors/SaveUrlError.html +10 -10
  158. data/docs/DropboxApi/Errors/SearchError.html +7 -7
  159. data/docs/DropboxApi/Errors/SettingsError.html +8 -8
  160. data/docs/DropboxApi/Errors/ShareFolderError.html +11 -11
  161. data/docs/DropboxApi/Errors/SharePathError.html +17 -17
  162. data/docs/DropboxApi/Errors/SharedFolderAccessError.html +10 -10
  163. data/docs/DropboxApi/Errors/SharedLinkAccessDeniedError.html +6 -6
  164. data/docs/DropboxApi/Errors/SharedLinkAlreadyExistsError.html +6 -6
  165. data/docs/DropboxApi/Errors/SharedLinkError.html +9 -9
  166. data/docs/DropboxApi/Errors/SharedLinkMalformedError.html +6 -6
  167. data/docs/DropboxApi/Errors/SharedLinkNotFoundError.html +6 -6
  168. data/docs/DropboxApi/Errors/SharingFileAccessError.html +11 -11
  169. data/docs/DropboxApi/Errors/SharingUserError.html +7 -7
  170. data/docs/DropboxApi/Errors/TeamFolderError.html +6 -6
  171. data/docs/DropboxApi/Errors/TeamPolicyDisallowsMemberPolicyError.html +6 -6
  172. data/docs/DropboxApi/Errors/ThumbnailBatchError.html +7 -7
  173. data/docs/DropboxApi/Errors/ThumbnailError.html +10 -10
  174. data/docs/DropboxApi/Errors/TooManyFilesError.html +6 -6
  175. data/docs/DropboxApi/Errors/TooManyMembersError.html +6 -6
  176. data/docs/DropboxApi/Errors/TooManyPendingInvitesError.html +6 -6
  177. data/docs/DropboxApi/Errors/TooManyRequestsError.html +15 -15
  178. data/docs/DropboxApi/Errors/TooManySharedFolderTargetsError.html +6 -6
  179. data/docs/DropboxApi/Errors/TooManyWriteOperationsError.html +6 -6
  180. data/docs/DropboxApi/Errors/UnmountedError.html +6 -6
  181. data/docs/DropboxApi/Errors/UnshareFileError.html +8 -8
  182. data/docs/DropboxApi/Errors/UnsupportedContentError.html +6 -6
  183. data/docs/DropboxApi/Errors/UnsupportedExtensionError.html +6 -6
  184. data/docs/DropboxApi/Errors/UnsupportedImageError.html +6 -6
  185. data/docs/DropboxApi/Errors/UnsupportedLinkTypeError.html +6 -6
  186. data/docs/DropboxApi/Errors/UnverifiedDropboxId.html +6 -6
  187. data/docs/DropboxApi/Errors/UploadError.html +7 -7
  188. data/docs/DropboxApi/Errors/UploadSessionFinishError.html +9 -9
  189. data/docs/DropboxApi/Errors/UploadSessionLookupError.html +10 -10
  190. data/docs/DropboxApi/Errors/UploadSessionOffsetError.html +10 -10
  191. data/docs/DropboxApi/Errors/UploadWriteFailedError.html +7 -7
  192. data/docs/DropboxApi/Errors/WriteConflictError.html +9 -9
  193. data/docs/DropboxApi/Errors/WriteError.html +11 -11
  194. data/docs/DropboxApi/Errors.html +8 -8
  195. data/docs/DropboxApi/Metadata/AccessLevel.html +9 -9
  196. data/docs/DropboxApi/Metadata/AddFileMemberResult.html +6 -6
  197. data/docs/DropboxApi/Metadata/AddMember.html +11 -11
  198. data/docs/DropboxApi/Metadata/Base.html +24 -24
  199. data/docs/DropboxApi/Metadata/BasicAccount.html +12 -7
  200. data/docs/DropboxApi/Metadata/CommitInfo.html +9 -9
  201. data/docs/DropboxApi/Metadata/Deleted.html +6 -6
  202. data/docs/DropboxApi/Metadata/Dimensions.html +6 -6
  203. data/docs/DropboxApi/Metadata/Field.html +24 -20
  204. data/docs/DropboxApi/Metadata/File.html +10 -10
  205. data/docs/DropboxApi/Metadata/FileCategoriesList.html +205 -0
  206. data/docs/DropboxApi/Metadata/FileCategory.html +250 -0
  207. data/docs/DropboxApi/Metadata/FileExtensionsList.html +213 -0
  208. data/docs/DropboxApi/Metadata/FileLinkMetadata.html +6 -6
  209. data/docs/DropboxApi/Metadata/FileMemberAction.html +10 -10
  210. data/docs/DropboxApi/Metadata/FileRequest.html +6 -6
  211. data/docs/DropboxApi/Metadata/FileStatus.html +242 -0
  212. data/docs/DropboxApi/Metadata/Folder.html +10 -10
  213. data/docs/DropboxApi/Metadata/FolderLinkMetadata.html +6 -6
  214. data/docs/DropboxApi/Metadata/FolderSharingInfo.html +6 -6
  215. data/docs/DropboxApi/Metadata/LinkPermissions.html +6 -6
  216. data/docs/DropboxApi/Metadata/Location.html +6 -6
  217. data/docs/DropboxApi/Metadata/MediaInfo.html +9 -9
  218. data/docs/DropboxApi/Metadata/MediaMetadata.html +9 -9
  219. data/docs/DropboxApi/Metadata/Member.html +13 -13
  220. data/docs/DropboxApi/Metadata/MemberAction.html +9 -9
  221. data/docs/DropboxApi/Metadata/MemberActionList.html +9 -9
  222. data/docs/DropboxApi/Metadata/MemberPermission.html +6 -6
  223. data/docs/DropboxApi/Metadata/MemberPermissionList.html +10 -10
  224. data/docs/DropboxApi/Metadata/MetadataV2.html +140 -0
  225. data/docs/DropboxApi/Metadata/Name.html +6 -6
  226. data/docs/DropboxApi/Metadata/NamespaceId.html +210 -0
  227. data/docs/DropboxApi/Metadata/ParentFolderAccessInfo.html +6 -6
  228. data/docs/DropboxApi/Metadata/PhotoMetadata.html +6 -6
  229. data/docs/DropboxApi/Metadata/Resource.html +10 -10
  230. data/docs/DropboxApi/Metadata/RootInfo.html +227 -0
  231. data/docs/DropboxApi/Metadata/SearchMatchFieldOptions.html +140 -0
  232. data/docs/DropboxApi/Metadata/SearchMatchTypeV2.html +244 -0
  233. data/docs/DropboxApi/Metadata/SearchMatchV2.html +216 -0
  234. data/docs/DropboxApi/Metadata/SearchOptions.html +140 -0
  235. data/docs/DropboxApi/Metadata/SearchOrderBy.html +242 -0
  236. data/docs/DropboxApi/Metadata/SharedFolder.html +6 -6
  237. data/docs/DropboxApi/Metadata/SharedFolderPolicy.html +6 -6
  238. data/docs/DropboxApi/Metadata/SharedLink.html +18 -18
  239. data/docs/DropboxApi/Metadata/SharedLinkMetadata.html +10 -10
  240. data/docs/DropboxApi/Metadata/SpaceAllocation.html +6 -6
  241. data/docs/DropboxApi/Metadata/SpaceUsage.html +6 -6
  242. data/docs/DropboxApi/Metadata/Tag.html +14 -14
  243. data/docs/DropboxApi/Metadata/Team.html +6 -6
  244. data/docs/DropboxApi/Metadata/TeamMemberInfo.html +6 -6
  245. data/docs/DropboxApi/Metadata/TeamRootInfo.html +140 -0
  246. data/docs/DropboxApi/Metadata/ThumbnailBatchResultData.html +6 -6
  247. data/docs/DropboxApi/Metadata/ThumbnailBatchResultEntry.html +11 -11
  248. data/docs/DropboxApi/Metadata/UploadSessionCursor.html +9 -9
  249. data/docs/DropboxApi/Metadata/UserRootInfo.html +140 -0
  250. data/docs/DropboxApi/Metadata/VideoMetadata.html +6 -6
  251. data/docs/DropboxApi/Metadata/WriteMode.html +21 -21
  252. data/docs/DropboxApi/Metadata.html +8 -8
  253. data/docs/DropboxApi/MiddleWare/DecodeResult.html +13 -13
  254. data/docs/DropboxApi/MiddleWare/PathRoot.html +412 -0
  255. data/docs/DropboxApi/MiddleWare/Stack.html +22 -22
  256. data/docs/DropboxApi/MiddleWare.html +8 -8
  257. data/docs/DropboxApi/OptionsValidator.html +10 -10
  258. data/docs/DropboxApi/ResultBuilder.html +30 -30
  259. data/docs/DropboxApi/Results/AddFileMemberResultList.html +10 -10
  260. data/docs/DropboxApi/Results/Base.html +11 -11
  261. data/docs/DropboxApi/Results/BasicAccountBatch.html +10 -10
  262. data/docs/DropboxApi/Results/CopyBatchResult.html +10 -10
  263. data/docs/DropboxApi/Results/CreateFolderBatchResult.html +13 -13
  264. data/docs/DropboxApi/Results/CreateFolderBatchResultEntry.html +9 -9
  265. data/docs/DropboxApi/Results/DeleteBatchResult.html +13 -13
  266. data/docs/DropboxApi/Results/DeleteBatchResultEntry.html +9 -9
  267. data/docs/DropboxApi/Results/GetCopyReferenceResult.html +18 -18
  268. data/docs/DropboxApi/Results/GetTemporaryLinkResult.html +14 -14
  269. data/docs/DropboxApi/Results/GetThumbnailBatchResult.html +10 -10
  270. data/docs/DropboxApi/Results/ListFolderGetLatestCursorResult.html +10 -10
  271. data/docs/DropboxApi/Results/ListFolderLongpollResult.html +14 -14
  272. data/docs/DropboxApi/Results/ListFolderResult.html +18 -18
  273. data/docs/DropboxApi/Results/ListRevisionsResult.html +14 -14
  274. data/docs/DropboxApi/Results/ListSharedLinksResult.html +18 -18
  275. data/docs/DropboxApi/Results/RelocationBatchResult.html +13 -13
  276. data/docs/DropboxApi/Results/RelocationBatchResultEntry.html +9 -9
  277. data/docs/DropboxApi/Results/SaveCopyReferenceResult.html +10 -10
  278. data/docs/DropboxApi/Results/SaveUrlJobStatus.html +15 -15
  279. data/docs/DropboxApi/Results/SaveUrlResult.html +10 -10
  280. data/docs/DropboxApi/Results/Search/Match.html +18 -18
  281. data/docs/DropboxApi/Results/Search.html +6 -6
  282. data/docs/DropboxApi/Results/SearchV2Result.html +368 -0
  283. data/docs/DropboxApi/Results/ShareFolderLaunch.html +12 -12
  284. data/docs/DropboxApi/Results/SharedFileMembers.html +22 -22
  285. data/docs/DropboxApi/Results/SharedFolderMembers.html +22 -22
  286. data/docs/DropboxApi/Results/UploadSessionStart.html +10 -10
  287. data/docs/DropboxApi/Results/VoidResult.html +6 -6
  288. data/docs/DropboxApi/Results.html +8 -8
  289. data/docs/DropboxApi.html +7 -7
  290. data/docs/DropboxScaffoldBuilder.html +220 -108
  291. data/docs/_index.html +137 -18
  292. data/docs/class_list.html +3 -3
  293. data/docs/css/common.css +3 -0
  294. data/docs/css/style.css +3 -2
  295. data/docs/file.README.html +134 -43
  296. data/docs/file.api_coverage.html +14 -14
  297. data/docs/file.rails_setup.html +10 -10
  298. data/docs/file_list.html +2 -2
  299. data/docs/frames.html +2 -2
  300. data/docs/index.html +134 -43
  301. data/docs/js/app.js +14 -3
  302. data/docs/method_list.html +469 -285
  303. data/docs/top-level-namespace.html +6 -6
  304. data/dropbox_api.gemspec +11 -14
  305. data/lib/dropbox_api/authenticator.rb +5 -8
  306. data/lib/dropbox_api/chunked_uploader.rb +2 -1
  307. data/lib/dropbox_api/client.rb +24 -2
  308. data/lib/dropbox_api/connection_builder.rb +39 -4
  309. data/lib/dropbox_api/endpoints/auth/token_revoke.rb +2 -1
  310. data/lib/dropbox_api/endpoints/base.rb +28 -4
  311. data/lib/dropbox_api/endpoints/content_download.rb +5 -7
  312. data/lib/dropbox_api/endpoints/content_upload.rb +3 -2
  313. data/lib/dropbox_api/endpoints/file_requests/create_file_request.rb +4 -3
  314. data/lib/dropbox_api/endpoints/files/copy.rb +4 -3
  315. data/lib/dropbox_api/endpoints/files/copy_batch.rb +3 -2
  316. data/lib/dropbox_api/endpoints/files/copy_batch_check.rb +3 -2
  317. data/lib/dropbox_api/endpoints/files/copy_reference_get.rb +3 -2
  318. data/lib/dropbox_api/endpoints/files/copy_reference_save.rb +4 -3
  319. data/lib/dropbox_api/endpoints/files/create_folder.rb +3 -2
  320. data/lib/dropbox_api/endpoints/files/create_folder_batch.rb +3 -2
  321. data/lib/dropbox_api/endpoints/files/create_folder_batch_check.rb +3 -2
  322. data/lib/dropbox_api/endpoints/files/delete.rb +3 -2
  323. data/lib/dropbox_api/endpoints/files/delete_batch.rb +3 -2
  324. data/lib/dropbox_api/endpoints/files/delete_batch_check.rb +3 -2
  325. data/lib/dropbox_api/endpoints/files/download.rb +3 -2
  326. data/lib/dropbox_api/endpoints/files/get_metadata.rb +3 -2
  327. data/lib/dropbox_api/endpoints/files/get_preview.rb +3 -2
  328. data/lib/dropbox_api/endpoints/files/get_temporary_link.rb +3 -2
  329. data/lib/dropbox_api/endpoints/files/get_thumbnail.rb +3 -2
  330. data/lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb +4 -3
  331. data/lib/dropbox_api/endpoints/files/list_folder.rb +3 -2
  332. data/lib/dropbox_api/endpoints/files/list_folder_continue.rb +3 -2
  333. data/lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb +2 -1
  334. data/lib/dropbox_api/endpoints/files/list_folder_longpoll.rb +3 -2
  335. data/lib/dropbox_api/endpoints/files/list_revisions.rb +3 -2
  336. data/lib/dropbox_api/endpoints/files/move.rb +4 -3
  337. data/lib/dropbox_api/endpoints/files/permanently_delete.rb +3 -2
  338. data/lib/dropbox_api/endpoints/files/restore.rb +4 -3
  339. data/lib/dropbox_api/endpoints/files/save_url.rb +4 -3
  340. data/lib/dropbox_api/endpoints/files/save_url_check_job_status.rb +3 -2
  341. data/lib/dropbox_api/endpoints/files/search.rb +16 -27
  342. data/lib/dropbox_api/endpoints/files/search_continue.rb +23 -0
  343. data/lib/dropbox_api/endpoints/files/upload.rb +2 -1
  344. data/lib/dropbox_api/endpoints/files/upload_session_append_v2.rb +3 -2
  345. data/lib/dropbox_api/endpoints/files/upload_session_finish.rb +4 -3
  346. data/lib/dropbox_api/endpoints/files/upload_session_start.rb +4 -3
  347. data/lib/dropbox_api/endpoints/rpc.rb +3 -2
  348. data/lib/dropbox_api/endpoints/rpc_content.rb +3 -2
  349. data/lib/dropbox_api/endpoints/rpc_notify.rb +4 -3
  350. data/lib/dropbox_api/endpoints/sharing/add_file_member.rb +4 -3
  351. data/lib/dropbox_api/endpoints/sharing/add_folder_member.rb +4 -3
  352. data/lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb +4 -3
  353. data/lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb +3 -2
  354. data/lib/dropbox_api/endpoints/sharing/list_file_members.rb +4 -3
  355. data/lib/dropbox_api/endpoints/sharing/list_folder_members.rb +4 -3
  356. data/lib/dropbox_api/endpoints/sharing/list_shared_links.rb +2 -1
  357. data/lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb +3 -2
  358. data/lib/dropbox_api/endpoints/sharing/share_folder.rb +3 -2
  359. data/lib/dropbox_api/endpoints/sharing/unshare_file.rb +3 -2
  360. data/lib/dropbox_api/endpoints/users/get_account.rb +3 -2
  361. data/lib/dropbox_api/endpoints/users/get_account_batch.rb +3 -2
  362. data/lib/dropbox_api/endpoints/users/get_current_account.rb +2 -1
  363. data/lib/dropbox_api/endpoints/users/get_space_usage.rb +2 -1
  364. data/lib/dropbox_api/endpoints/virtual/upload_by_chunks.rb +1 -0
  365. data/lib/dropbox_api/errors/add_file_member_error.rb +5 -4
  366. data/lib/dropbox_api/errors/add_folder_member_error.rb +11 -10
  367. data/lib/dropbox_api/errors/add_member_selector_error.rb +6 -5
  368. data/lib/dropbox_api/errors/already_shared_error.rb +1 -0
  369. data/lib/dropbox_api/errors/basic_error.rb +2 -1
  370. data/lib/dropbox_api/errors/create_file_request_error.rb +1 -0
  371. data/lib/dropbox_api/errors/create_folder_batch_error.rb +2 -1
  372. data/lib/dropbox_api/errors/create_folder_error.rb +2 -1
  373. data/lib/dropbox_api/errors/create_shared_link_with_settings_error.rb +6 -5
  374. data/lib/dropbox_api/errors/delete_error.rb +4 -3
  375. data/lib/dropbox_api/errors/download_error.rb +2 -1
  376. data/lib/dropbox_api/errors/expired_access_token_error.rb +5 -0
  377. data/lib/dropbox_api/errors/file_member_action_error.rb +5 -4
  378. data/lib/dropbox_api/errors/get_account_error.rb +2 -1
  379. data/lib/dropbox_api/errors/get_copy_reference_error.rb +2 -1
  380. data/lib/dropbox_api/errors/get_metadata_error.rb +2 -1
  381. data/lib/dropbox_api/errors/http_error.rb +1 -0
  382. data/lib/dropbox_api/errors/list_folder_continue_error.rb +3 -2
  383. data/lib/dropbox_api/errors/list_folder_error.rb +2 -1
  384. data/lib/dropbox_api/errors/list_folder_longpoll_error.rb +2 -1
  385. data/lib/dropbox_api/errors/list_revisions_error.rb +2 -1
  386. data/lib/dropbox_api/errors/list_shared_links_error.rb +3 -2
  387. data/lib/dropbox_api/errors/lookup_error.rb +6 -5
  388. data/lib/dropbox_api/errors/poll_error.rb +3 -2
  389. data/lib/dropbox_api/errors/preview_error.rb +5 -4
  390. data/lib/dropbox_api/errors/relocation_batch_entry_error.rb +4 -3
  391. data/lib/dropbox_api/errors/relocation_error.rb +8 -7
  392. data/lib/dropbox_api/errors/restore_error.rb +4 -3
  393. data/lib/dropbox_api/errors/revoke_shared_link_error.rb +5 -4
  394. data/lib/dropbox_api/errors/save_copy_reference_error.rb +6 -5
  395. data/lib/dropbox_api/errors/save_url_error.rb +5 -4
  396. data/lib/dropbox_api/errors/search_error.rb +2 -1
  397. data/lib/dropbox_api/errors/settings_error.rb +3 -2
  398. data/lib/dropbox_api/errors/share_folder_error.rb +6 -5
  399. data/lib/dropbox_api/errors/share_path_error.rb +12 -11
  400. data/lib/dropbox_api/errors/shared_folder_access_error.rb +5 -4
  401. data/lib/dropbox_api/errors/shared_link_error.rb +4 -3
  402. data/lib/dropbox_api/errors/sharing_file_access_error.rb +6 -5
  403. data/lib/dropbox_api/errors/sharing_user_error.rb +2 -1
  404. data/lib/dropbox_api/errors/thumbnail_batch_error.rb +2 -1
  405. data/lib/dropbox_api/errors/thumbnail_error.rb +5 -4
  406. data/lib/dropbox_api/errors/too_many_requests_error.rb +3 -2
  407. data/lib/dropbox_api/errors/unshare_file_error.rb +3 -2
  408. data/lib/dropbox_api/errors/upload_error.rb +2 -1
  409. data/lib/dropbox_api/errors/upload_session_finish_error.rb +4 -3
  410. data/lib/dropbox_api/errors/upload_session_lookup_error.rb +5 -4
  411. data/lib/dropbox_api/errors/upload_session_offset_error.rb +1 -0
  412. data/lib/dropbox_api/errors/upload_write_failed_error.rb +2 -1
  413. data/lib/dropbox_api/errors/write_conflict_error.rb +4 -3
  414. data/lib/dropbox_api/errors/write_error.rb +6 -5
  415. data/lib/dropbox_api/metadata/access_level.rb +1 -0
  416. data/lib/dropbox_api/metadata/add_file_member_result.rb +1 -0
  417. data/lib/dropbox_api/metadata/add_member.rb +3 -2
  418. data/lib/dropbox_api/metadata/base.rb +2 -1
  419. data/lib/dropbox_api/metadata/basic_account.rb +8 -1
  420. data/lib/dropbox_api/metadata/commit_info.rb +2 -1
  421. data/lib/dropbox_api/metadata/deleted.rb +1 -0
  422. data/lib/dropbox_api/metadata/dimensions.rb +1 -0
  423. data/lib/dropbox_api/metadata/field.rb +7 -4
  424. data/lib/dropbox_api/metadata/file.rb +2 -1
  425. data/lib/dropbox_api/metadata/file_categories_list.rb +9 -0
  426. data/lib/dropbox_api/metadata/file_category.rb +22 -0
  427. data/lib/dropbox_api/metadata/file_extensions_list.rb +13 -0
  428. data/lib/dropbox_api/metadata/file_link_metadata.rb +1 -0
  429. data/lib/dropbox_api/metadata/file_member_action.rb +2 -1
  430. data/lib/dropbox_api/metadata/file_request.rb +1 -0
  431. data/lib/dropbox_api/metadata/file_status.rb +14 -0
  432. data/lib/dropbox_api/metadata/folder.rb +2 -1
  433. data/lib/dropbox_api/metadata/folder_link_metadata.rb +1 -0
  434. data/lib/dropbox_api/metadata/folder_sharing_info.rb +1 -0
  435. data/lib/dropbox_api/metadata/link_permissions.rb +1 -0
  436. data/lib/dropbox_api/metadata/location.rb +1 -0
  437. data/lib/dropbox_api/metadata/media_info.rb +1 -0
  438. data/lib/dropbox_api/metadata/media_metadata.rb +1 -0
  439. data/lib/dropbox_api/metadata/member.rb +6 -5
  440. data/lib/dropbox_api/metadata/member_action.rb +1 -0
  441. data/lib/dropbox_api/metadata/member_action_list.rb +1 -0
  442. data/lib/dropbox_api/metadata/member_permission.rb +1 -0
  443. data/lib/dropbox_api/metadata/member_permission_list.rb +1 -0
  444. data/lib/dropbox_api/metadata/metadata_v2.rb +7 -0
  445. data/lib/dropbox_api/metadata/name.rb +1 -0
  446. data/lib/dropbox_api/metadata/namespace_id.rb +10 -0
  447. data/lib/dropbox_api/metadata/parent_folder_access_info.rb +1 -0
  448. data/lib/dropbox_api/metadata/photo_metadata.rb +1 -0
  449. data/lib/dropbox_api/metadata/resource.rb +2 -1
  450. data/lib/dropbox_api/metadata/root_info.rb +32 -0
  451. data/lib/dropbox_api/metadata/search_match_field_options.rb +9 -0
  452. data/lib/dropbox_api/metadata/search_match_type_v2.rb +16 -0
  453. data/lib/dropbox_api/metadata/search_match_v2.rb +18 -0
  454. data/lib/dropbox_api/metadata/search_options.rb +33 -0
  455. data/lib/dropbox_api/metadata/search_order_by.rb +14 -0
  456. data/lib/dropbox_api/metadata/shared_folder.rb +1 -0
  457. data/lib/dropbox_api/metadata/shared_folder_policy.rb +1 -0
  458. data/lib/dropbox_api/metadata/shared_link.rb +3 -2
  459. data/lib/dropbox_api/metadata/shared_link_metadata.rb +2 -1
  460. data/lib/dropbox_api/metadata/space_allocation.rb +1 -0
  461. data/lib/dropbox_api/metadata/space_usage.rb +1 -0
  462. data/lib/dropbox_api/metadata/tag.rb +2 -1
  463. data/lib/dropbox_api/metadata/team.rb +1 -0
  464. data/lib/dropbox_api/metadata/team_member_info.rb +1 -0
  465. data/lib/dropbox_api/metadata/team_root_info.rb +8 -0
  466. data/lib/dropbox_api/metadata/thumbnail_batch_result_data.rb +1 -0
  467. data/lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb +3 -2
  468. data/lib/dropbox_api/metadata/upload_session_cursor.rb +1 -0
  469. data/lib/dropbox_api/metadata/user_root_info.rb +7 -0
  470. data/lib/dropbox_api/metadata/video_metadata.rb +1 -0
  471. data/lib/dropbox_api/metadata/write_mode.rb +6 -5
  472. data/lib/dropbox_api/middleware/decode_result.rb +3 -2
  473. data/lib/dropbox_api/middleware/path_root.rb +35 -0
  474. data/lib/dropbox_api/middleware/stack.rb +1 -0
  475. data/lib/dropbox_api/options_validator.rb +1 -0
  476. data/lib/dropbox_api/result_builder.rb +3 -2
  477. data/lib/dropbox_api/results/add_file_member_result_list.rb +1 -0
  478. data/lib/dropbox_api/results/base.rb +1 -0
  479. data/lib/dropbox_api/results/basic_account_batch.rb +1 -0
  480. data/lib/dropbox_api/results/copy_batch_result.rb +2 -1
  481. data/lib/dropbox_api/results/create_folder_batch_result.rb +5 -4
  482. data/lib/dropbox_api/results/create_folder_batch_result_entry.rb +1 -0
  483. data/lib/dropbox_api/results/delete_batch_result.rb +5 -4
  484. data/lib/dropbox_api/results/delete_batch_result_entry.rb +1 -0
  485. data/lib/dropbox_api/results/get_copy_reference_result.rb +4 -3
  486. data/lib/dropbox_api/results/get_temporary_link_result.rb +3 -2
  487. data/lib/dropbox_api/results/get_thumbnail_batch_result.rb +2 -1
  488. data/lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb +2 -1
  489. data/lib/dropbox_api/results/list_folder_longpoll_result.rb +3 -2
  490. data/lib/dropbox_api/results/list_folder_result.rb +4 -3
  491. data/lib/dropbox_api/results/list_revisions_result.rb +3 -2
  492. data/lib/dropbox_api/results/list_shared_links_result.rb +4 -3
  493. data/lib/dropbox_api/results/relocation_batch_result.rb +5 -4
  494. data/lib/dropbox_api/results/relocation_batch_result_entry.rb +1 -0
  495. data/lib/dropbox_api/results/save_copy_reference_result.rb +2 -1
  496. data/lib/dropbox_api/results/save_url_job_status.rb +7 -6
  497. data/lib/dropbox_api/results/save_url_result.rb +2 -1
  498. data/lib/dropbox_api/results/search/match.rb +3 -2
  499. data/lib/dropbox_api/results/search_v2_result.rb +23 -0
  500. data/lib/dropbox_api/results/share_folder_launch.rb +4 -3
  501. data/lib/dropbox_api/results/shared_file_members.rb +5 -4
  502. data/lib/dropbox_api/results/shared_folder_members.rb +5 -4
  503. data/lib/dropbox_api/results/upload_session_start.rb +2 -1
  504. data/lib/dropbox_api/results/void_result.rb +1 -0
  505. data/lib/dropbox_api/version.rb +2 -1
  506. data/lib/dropbox_api.rb +22 -5
  507. data/yardoc/endpoint_handler.rb +2 -1
  508. data/yardoc/helpers/html_helper.rb +2 -1
  509. data/yardoc/rspec.rb +8 -7
  510. data/yardoc/templates/default/method_details/setup.rb +1 -0
  511. metadata +48 -85
  512. data/.rubocop_todo.yml +0 -442
  513. data/CHANGES.md +0 -7
  514. data/lib/dropbox_api/results/search_result.rb +0 -22
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class SearchOrderBy < DropboxApi::Metadata::Tag
5
+ VALID_VALUES = %i[
6
+ relevance
7
+ last_modified_time
8
+ ].freeze
9
+
10
+ def self.valid_values
11
+ VALID_VALUES
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {SharedFolder} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {SharedFolderPolicy} object:
3
4
  #
@@ -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
- {:url => param}
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, "Missing `:url` option"
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[".tag"].to_sym).new(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
  # Example of a serialized {SpaceAllocation} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {SpaceUsage} object:
3
4
  #
@@ -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[".tag"].to_sym)
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
  class Team < Base
3
4
  field :id, String
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {TeamMemberInfo} object:
3
4
  #
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+ module DropboxApi::Metadata
3
+ class TeamRootInfo < Base
4
+ field :root_namespace_id, String
5
+ field :home_namespace_id, String
6
+ field :home_path, String
7
+ end
8
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class ThumbnailBatchResultData < Base
3
4
  field :metadata, DropboxApi::Metadata::File
@@ -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[".tag"].to_sym
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("Thumbnail generation failed", data["failure"])
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
  # Example of a serialized {UploadSessionCursor} object:
3
4
  #
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+ module DropboxApi::Metadata
3
+ class UserRootInfo < Base
4
+ field :root_namespace_id, String
5
+ field :home_namespace_id, String
6
+ end
7
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {MediaInfo} object:
3
4
  #
@@ -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
- ".tag" => write_mode
52
+ '.tag' => write_mode
52
53
  }
53
54
  @write_mode[write_mode.to_s] = options unless options.nil?
54
55
  end
55
- @write_mode[".tag"] = @write_mode[".tag"].to_sym
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[".tag"]
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[".tag"] == :update && @write_mode["update"].nil?
66
- raise ArgumentError, "Mode `:update` expects a `rev` number"
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 == "null"
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 :decode_result => DecodeResult
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::MiddleWare
2
3
  class Stack
3
4
  def initialize
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi
2
3
  module OptionsValidator
3
4
  # Takes in a list of valid option keys and a hash of options. If one of the
@@ -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["error_summary"] if @response_data.is_a? Hash
9
+ @response_data['error_summary'] if @response_data.is_a? Hash
9
10
  end
10
11
 
11
12
  def error
12
- @response_data["error"]
13
+ @response_data['error']
13
14
  end
14
15
 
15
16
  def has_error?
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  # Example of a result of the `add_file_member` endpoint:
3
4
  # [{
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class Base
3
4
  def initialize(result_data)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class BasicAccountBatch < Array
3
4
  def initialize(accounts)
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class CopyBatchResult < DropboxApi::Results::Base
3
4
  def self.new(result_data)
4
- case result_data[".tag"]
5
+ case result_data['.tag']
5
6
  when 'async_job_id'
6
7
  result_data['async_job_id']
7
8
  when 'complete'
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  # Result returned by {Client#create_folder_batch} that may either launch an
3
4
  # asynchronous job or complete synchronously.
@@ -5,11 +6,11 @@ module DropboxApi::Results
5
6
  # The value will be either a job id or a list of job statuses.
6
7
  class CreateFolderBatchResult < DropboxApi::Results::Base
7
8
  def self.new(result_data)
8
- case result_data[".tag"]
9
- when "async_job_id"
9
+ case result_data['.tag']
10
+ when 'async_job_id'
10
11
  result_data
11
- when "complete"
12
- result_data["entries"].map do |entry|
12
+ when 'complete'
13
+ result_data['entries'].map do |entry|
13
14
  DropboxApi::Results::CreateFolderBatchResultEntry.new(entry)
14
15
  end
15
16
  else
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class CreateFolderBatchResultEntry < DropboxApi::Results::Base
3
4
  def self.new(result_data)
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  # Result returned by {Client#delete_batch} that may either launch an
3
4
  # asynchronous job or complete synchronously.
@@ -5,11 +6,11 @@ module DropboxApi::Results
5
6
  # The value will be either a job id or a list of job statuses.
6
7
  class DeleteBatchResult < DropboxApi::Results::Base
7
8
  def self.new(result_data)
8
- case result_data[".tag"]
9
- when "async_job_id"
9
+ case result_data['.tag']
10
+ when 'async_job_id'
10
11
  result_data
11
- when "complete"
12
- result_data["entries"].map do |entry|
12
+ when 'complete'
13
+ result_data['entries'].map do |entry|
13
14
  DropboxApi::Results::DeleteBatchResultEntry.new(entry)
14
15
  end
15
16
  else
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class DeleteBatchResultEntry < DropboxApi::Results::Base
3
4
  def self.new(result_data)
@@ -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["metadata"]
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["copy_reference"]
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["expires"])
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["metadata"])
5
+ @file ||= DropboxApi::Metadata::File.new(@data['metadata'])
5
6
  end
6
7
 
7
8
  def link
8
- @data["link"]
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["entries"].map do |entry|
5
+ @entries ||= @data['entries'].map do |entry|
5
6
  DropboxApi::Metadata::ThumbnailBatchResultEntry.new entry
6
7
  end
7
8
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class ListFolderGetLatestCursorResult < DropboxApi::Results::Base
3
4
  def cursor
4
- @data["cursor"]
5
+ @data['cursor']
5
6
  end
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["changes"].to_s == "true"
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["backoff"]
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["entries"].map do |entry|
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["cursor"]
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["has_more"].to_s == "true"
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["entries"].map do |entry|
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["is_deleted"] == true
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["links"].map do |entry|
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["cursor"]
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["has_more"].to_s == "true"
20
+ @data['has_more'].to_s == 'true'
20
21
  end
21
22
  end
22
23
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  # Result returned by {Client#copy_batch} or {Client#move_batch} that may
3
4
  # either launch an asynchronous job or complete synchronously.
@@ -5,11 +6,11 @@ module DropboxApi::Results
5
6
  # The value will be either `:in_progress` or a list of job statuses.
6
7
  class RelocationBatchResult < DropboxApi::Results::Base
7
8
  def self.new(result_data)
8
- case result_data[".tag"]
9
- when "in_progress"
9
+ case result_data['.tag']
10
+ when 'in_progress'
10
11
  :in_progress
11
- when "complete"
12
- result_data["entries"].map do |entry|
12
+ when 'complete'
13
+ result_data['entries'].map do |entry|
13
14
  DropboxApi::Results::RelocationBatchResultEntry.new(entry)
14
15
  end
15
16
  else
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class RelocationBatchResultEntry < DropboxApi::Results::Base
3
4
  def self.new(result_data)
@@ -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["metadata"]
6
+ @resource ||= DropboxApi::Metadata::Resource.new @data['metadata']
6
7
  end
7
8
  end
8
9
  end
@@ -1,14 +1,15 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class SaveUrlJobStatus < DropboxApi::Results::Base
3
4
  def self.new(result_data)
4
- case result_data[".tag"]
5
- when "in_progress"
5
+ case result_data['.tag']
6
+ when 'in_progress'
6
7
  :in_progress
7
- when "complete"
8
+ when 'complete'
8
9
  DropboxApi::Metadata::File.new result_data
9
- when "failed"
10
- DropboxApi::Errors::SaveUrlError.build("Async job failed",
11
- result_data["failed"])
10
+ when 'failed'
11
+ DropboxApi::Errors::SaveUrlError.build('Async job failed',
12
+ result_data['failed'])
12
13
  else
13
14
  raise NotImplementedError, "Unknown result type: #{result_data[".tag"]}"
14
15
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results
2
3
  class SaveUrlResult < DropboxApi::Results::Base
3
4
  # Example with an async job:
@@ -8,7 +9,7 @@ module DropboxApi::Results
8
9
  #
9
10
  # I couldn't manage to get anything other than an async job.
10
11
  def async_job_id
11
- @data["async_job_id"]
12
+ @data['async_job_id']
12
13
  end
13
14
  end
14
15
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Results::Search
2
3
  class Match
3
4
  def initialize(data)
@@ -5,11 +6,11 @@ module DropboxApi::Results::Search
5
6
  end
6
7
 
7
8
  def match_type
8
- @data["match_type"]
9
+ @data['match_type']
9
10
  end
10
11
 
11
12
  def resource
12
- @resource ||= DropboxApi::Metadata::Resource.new @data["metadata"]
13
+ @resource ||= DropboxApi::Metadata::Resource.new @data['metadata']
13
14
  end
14
15
  end
15
16
  end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+ module DropboxApi::Results
3
+ class SearchV2Result < DropboxApi::Results::Base
4
+ # A list (possibly empty) of matches for the query.
5
+ def matches
6
+ @matches ||= @data['matches'].map do |match|
7
+ DropboxApi::Metadata::SearchMatchV2.new match
8
+ end
9
+ end
10
+
11
+ # Used for paging. If true, indicates there is another page of results
12
+ # available that can be fetched by calling search again.
13
+ def has_more?
14
+ @data['has_more'].to_s == 'true'
15
+ end
16
+
17
+ # Pass the cursor into #search_continue to fetch the next page of results.
18
+ # This field is optional.
19
+ def cursor
20
+ @data['cursor']
21
+ end
22
+ end
23
+ end