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.
Files changed (508) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +15 -0
  4. data/.travis.yml +0 -2
  5. data/Gemfile +6 -1
  6. data/README.md +120 -24
  7. data/Rakefile +4 -3
  8. data/TODO.md +16 -7
  9. data/api_coverage.md +8 -8
  10. data/bin/console +4 -3
  11. data/docs/DropboxApi/Authenticator.html +12 -12
  12. data/docs/DropboxApi/ChunkedUploader.html +20 -20
  13. data/docs/DropboxApi/Client.html +3097 -971
  14. data/docs/DropboxApi/ConnectionBuilder.html +16 -16
  15. data/docs/DropboxApi/Endpoints/Auth/TokenRevoke.html +10 -10
  16. data/docs/DropboxApi/Endpoints/Auth.html +6 -6
  17. data/docs/DropboxApi/Endpoints/Base.html +9 -9
  18. data/docs/DropboxApi/Endpoints/ContentDownload.html +19 -19
  19. data/docs/DropboxApi/Endpoints/ContentUpload.html +17 -17
  20. data/docs/DropboxApi/Endpoints/Files/Copy.html +12 -12
  21. data/docs/DropboxApi/Endpoints/Files/CopyBatch.html +359 -0
  22. data/docs/DropboxApi/Endpoints/Files/CopyBatchCheck.html +305 -0
  23. data/docs/DropboxApi/Endpoints/Files/CopyReferenceGet.html +11 -11
  24. data/docs/DropboxApi/Endpoints/Files/CopyReferenceSave.html +12 -12
  25. data/docs/DropboxApi/Endpoints/Files/CreateFileRequest.html +10 -10
  26. data/docs/DropboxApi/Endpoints/Files/CreateFolder.html +11 -11
  27. data/docs/DropboxApi/Endpoints/Files/CreateFolderBatch.html +377 -0
  28. data/docs/DropboxApi/Endpoints/Files/CreateFolderBatchCheck.html +308 -0
  29. data/docs/DropboxApi/Endpoints/Files/Delete.html +11 -11
  30. data/docs/DropboxApi/Endpoints/Files/DeleteBatch.html +305 -0
  31. data/docs/DropboxApi/Endpoints/Files/DeleteBatchCheck.html +307 -0
  32. data/docs/DropboxApi/Endpoints/Files/Download.html +11 -11
  33. data/docs/DropboxApi/Endpoints/Files/GetMetadata.html +11 -11
  34. data/docs/DropboxApi/Endpoints/Files/GetPreview.html +11 -11
  35. data/docs/DropboxApi/Endpoints/Files/GetTemporaryLink.html +11 -11
  36. data/docs/DropboxApi/Endpoints/Files/GetThumbnail.html +11 -11
  37. data/docs/DropboxApi/Endpoints/Files/GetThumbnailBatch.html +15 -15
  38. data/docs/DropboxApi/Endpoints/Files/ListFolder.html +36 -17
  39. data/docs/DropboxApi/Endpoints/Files/ListFolderContinue.html +11 -11
  40. data/docs/DropboxApi/Endpoints/Files/ListFolderGetLatestCursor.html +10 -10
  41. data/docs/DropboxApi/Endpoints/Files/ListFolderLongpoll.html +11 -11
  42. data/docs/DropboxApi/Endpoints/Files/ListRevisions.html +11 -11
  43. data/docs/DropboxApi/Endpoints/Files/Move.html +12 -12
  44. data/docs/DropboxApi/Endpoints/Files/PermanentlyDelete.html +11 -11
  45. data/docs/DropboxApi/Endpoints/Files/Restore.html +12 -12
  46. data/docs/DropboxApi/Endpoints/Files/SaveUrl.html +12 -12
  47. data/docs/DropboxApi/Endpoints/Files/SaveUrlCheckJobStatus.html +11 -11
  48. data/docs/DropboxApi/Endpoints/Files/Search.html +48 -96
  49. data/docs/DropboxApi/Endpoints/Files/Upload.html +11 -11
  50. data/docs/DropboxApi/Endpoints/Files/UploadSessionAppendV2.html +11 -11
  51. data/docs/DropboxApi/Endpoints/Files/UploadSessionFinish.html +12 -12
  52. data/docs/DropboxApi/Endpoints/Files/UploadSessionStart.html +12 -12
  53. data/docs/DropboxApi/Endpoints/Files.html +8 -8
  54. data/docs/DropboxApi/Endpoints/Rpc.html +18 -18
  55. data/docs/DropboxApi/Endpoints/RpcContent.html +11 -11
  56. data/docs/DropboxApi/Endpoints/RpcNotify.html +11 -11
  57. data/docs/DropboxApi/Endpoints/Sharing/AddFileMember.html +12 -12
  58. data/docs/DropboxApi/Endpoints/Sharing/AddFolderMember.html +12 -12
  59. data/docs/DropboxApi/Endpoints/Sharing/CreateSharedLinkWithSettings.html +107 -16
  60. data/docs/DropboxApi/Endpoints/Sharing/GetSharedLinkMetadata.html +11 -11
  61. data/docs/DropboxApi/Endpoints/Sharing/ListFileMembers.html +12 -12
  62. data/docs/DropboxApi/Endpoints/Sharing/ListFolderMembers.html +12 -12
  63. data/docs/DropboxApi/Endpoints/Sharing/ListSharedLinks.html +10 -10
  64. data/docs/DropboxApi/Endpoints/Sharing/RevokeSharedLink.html +293 -0
  65. data/docs/DropboxApi/Endpoints/Sharing/ShareFolder.html +11 -11
  66. data/docs/DropboxApi/Endpoints/Sharing/UnshareFile.html +11 -11
  67. data/docs/DropboxApi/Endpoints/Sharing.html +8 -8
  68. data/docs/DropboxApi/Endpoints/Users/GetAccount.html +11 -11
  69. data/docs/DropboxApi/Endpoints/Users/GetAccountBatch.html +11 -11
  70. data/docs/DropboxApi/Endpoints/Users/GetCurrentAccount.html +10 -10
  71. data/docs/DropboxApi/Endpoints/Users/GetSpaceUsage.html +10 -10
  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 +161 -0
  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 -8
  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/FileAncestorConflictError.html +6 -6
  99. data/docs/DropboxApi/Errors/FileConflictError.html +6 -6
  100. data/docs/DropboxApi/Errors/FileMemberActionError.html +10 -10
  101. data/docs/DropboxApi/Errors/FolderConflictError.html +6 -6
  102. data/docs/DropboxApi/Errors/GetAccountError.html +7 -7
  103. data/docs/DropboxApi/Errors/GetCopyReferenceError.html +7 -7
  104. data/docs/DropboxApi/Errors/GetMetadataError.html +7 -7
  105. data/docs/DropboxApi/Errors/GroupDeletedError.html +6 -6
  106. data/docs/DropboxApi/Errors/GroupNotOnTeamError.html +6 -6
  107. data/docs/DropboxApi/Errors/HttpError.html +6 -6
  108. data/docs/DropboxApi/Errors/InProgressError.html +6 -6
  109. data/docs/DropboxApi/Errors/InsideAppFolderError.html +6 -6
  110. data/docs/DropboxApi/Errors/InsideOsxPackageError.html +6 -6
  111. data/docs/DropboxApi/Errors/InsidePublicFolderError.html +6 -6
  112. data/docs/DropboxApi/Errors/InsideSharedFolderError.html +6 -6
  113. data/docs/DropboxApi/Errors/InsufficientPlanError.html +6 -6
  114. data/docs/DropboxApi/Errors/InsufficientSpaceError.html +6 -6
  115. data/docs/DropboxApi/Errors/InternalError.html +6 -6
  116. data/docs/DropboxApi/Errors/InvalidCommentError.html +6 -6
  117. data/docs/DropboxApi/Errors/InvalidCopyReferenceError.html +6 -6
  118. data/docs/DropboxApi/Errors/InvalidCursorError.html +6 -6
  119. data/docs/DropboxApi/Errors/InvalidDropboxIdError.html +6 -6
  120. data/docs/DropboxApi/Errors/InvalidEmailError.html +6 -6
  121. data/docs/DropboxApi/Errors/InvalidFileError.html +6 -6
  122. data/docs/DropboxApi/Errors/InvalidIdError.html +6 -6
  123. data/docs/DropboxApi/Errors/InvalidMemberError.html +6 -6
  124. data/docs/DropboxApi/Errors/InvalidPathError.html +6 -6
  125. data/docs/DropboxApi/Errors/InvalidRevisionError.html +6 -6
  126. data/docs/DropboxApi/Errors/InvalidSettingsError.html +6 -6
  127. data/docs/DropboxApi/Errors/InvalidUrlError.html +6 -6
  128. data/docs/DropboxApi/Errors/IsAppFolderError.html +6 -6
  129. data/docs/DropboxApi/Errors/IsFileError.html +6 -6
  130. data/docs/DropboxApi/Errors/IsFolderError.html +6 -6
  131. data/docs/DropboxApi/Errors/IsOsxPackageError.html +6 -6
  132. data/docs/DropboxApi/Errors/IsPublicFolderError.html +6 -6
  133. data/docs/DropboxApi/Errors/ListFolderContinueError.html +8 -8
  134. data/docs/DropboxApi/Errors/ListFolderError.html +7 -7
  135. data/docs/DropboxApi/Errors/ListFolderLongpollError.html +7 -7
  136. data/docs/DropboxApi/Errors/ListRevisionsError.html +7 -7
  137. data/docs/DropboxApi/Errors/ListSharedLinksError.html +8 -8
  138. data/docs/DropboxApi/Errors/LookupError.html +11 -11
  139. data/docs/DropboxApi/Errors/MalformedPathError.html +6 -6
  140. data/docs/DropboxApi/Errors/NoAccountError.html +6 -6
  141. data/docs/DropboxApi/Errors/NoPermissionError.html +6 -6
  142. data/docs/DropboxApi/Errors/NoWritePermissionError.html +6 -6
  143. data/docs/DropboxApi/Errors/NotAMemberError.html +6 -6
  144. data/docs/DropboxApi/Errors/NotFileError.html +6 -6
  145. data/docs/DropboxApi/Errors/NotFolderError.html +6 -6
  146. data/docs/DropboxApi/Errors/NotFoundError.html +6 -6
  147. data/docs/DropboxApi/Errors/PollError.html +8 -8
  148. data/docs/DropboxApi/Errors/PreviewError.html +10 -10
  149. data/docs/DropboxApi/Errors/RateLimitError.html +6 -6
  150. data/docs/DropboxApi/Errors/RelocationBatchEntryError.html +163 -0
  151. data/docs/DropboxApi/Errors/RelocationError.html +13 -13
  152. data/docs/DropboxApi/Errors/RestoreError.html +9 -9
  153. data/docs/DropboxApi/Errors/RestrictedContentError.html +6 -6
  154. data/docs/DropboxApi/Errors/RevokeSharedLinkError.html +164 -0
  155. data/docs/DropboxApi/Errors/SaveCopyReferenceError.html +11 -11
  156. data/docs/DropboxApi/Errors/SaveUrlError.html +10 -10
  157. data/docs/DropboxApi/Errors/SearchError.html +7 -7
  158. data/docs/DropboxApi/Errors/SettingsError.html +8 -8
  159. data/docs/DropboxApi/Errors/ShareFolderError.html +11 -11
  160. data/docs/DropboxApi/Errors/SharePathError.html +17 -17
  161. data/docs/DropboxApi/Errors/SharedFolderAccessError.html +10 -10
  162. data/docs/DropboxApi/Errors/SharedLinkAccessDeniedError.html +6 -6
  163. data/docs/DropboxApi/Errors/SharedLinkAlreadyExistsError.html +6 -6
  164. data/docs/DropboxApi/Errors/SharedLinkError.html +9 -9
  165. data/docs/DropboxApi/Errors/SharedLinkMalformedError.html +143 -0
  166. data/docs/DropboxApi/Errors/SharedLinkNotFoundError.html +6 -6
  167. data/docs/DropboxApi/Errors/SharingFileAccessError.html +11 -11
  168. data/docs/DropboxApi/Errors/SharingUserError.html +7 -7
  169. data/docs/DropboxApi/Errors/TeamFolderError.html +6 -6
  170. data/docs/DropboxApi/Errors/TeamPolicyDisallowsMemberPolicyError.html +6 -6
  171. data/docs/DropboxApi/Errors/ThumbnailBatchError.html +7 -7
  172. data/docs/DropboxApi/Errors/ThumbnailError.html +10 -10
  173. data/docs/DropboxApi/Errors/TooManyFilesError.html +6 -6
  174. data/docs/DropboxApi/Errors/TooManyMembersError.html +6 -6
  175. data/docs/DropboxApi/Errors/TooManyPendingInvitesError.html +6 -6
  176. data/docs/DropboxApi/Errors/TooManyRequestsError.html +15 -15
  177. data/docs/DropboxApi/Errors/TooManySharedFolderTargetsError.html +6 -6
  178. data/docs/DropboxApi/Errors/TooManyWriteOperationsError.html +6 -6
  179. data/docs/DropboxApi/Errors/UnmountedError.html +6 -6
  180. data/docs/DropboxApi/Errors/UnshareFileError.html +8 -8
  181. data/docs/DropboxApi/Errors/UnsupportedContentError.html +6 -6
  182. data/docs/DropboxApi/Errors/UnsupportedExtensionError.html +6 -6
  183. data/docs/DropboxApi/Errors/UnsupportedImageError.html +6 -6
  184. data/docs/DropboxApi/Errors/UnsupportedLinkTypeError.html +6 -6
  185. data/docs/DropboxApi/Errors/UnverifiedDropboxId.html +6 -6
  186. data/docs/DropboxApi/Errors/UploadError.html +7 -7
  187. data/docs/DropboxApi/Errors/UploadSessionFinishError.html +9 -9
  188. data/docs/DropboxApi/Errors/UploadSessionLookupError.html +10 -10
  189. data/docs/DropboxApi/Errors/UploadSessionOffsetError.html +10 -10
  190. data/docs/DropboxApi/Errors/UploadWriteFailedError.html +7 -7
  191. data/docs/DropboxApi/Errors/WriteConflictError.html +9 -9
  192. data/docs/DropboxApi/Errors/WriteError.html +11 -11
  193. data/docs/DropboxApi/Errors.html +8 -8
  194. data/docs/DropboxApi/Metadata/AccessLevel.html +9 -9
  195. data/docs/DropboxApi/Metadata/AddFileMemberResult.html +6 -6
  196. data/docs/DropboxApi/Metadata/AddMember.html +11 -11
  197. data/docs/DropboxApi/Metadata/Base.html +24 -24
  198. data/docs/DropboxApi/Metadata/BasicAccount.html +6 -6
  199. data/docs/DropboxApi/Metadata/CommitInfo.html +9 -9
  200. data/docs/DropboxApi/Metadata/Deleted.html +6 -6
  201. data/docs/DropboxApi/Metadata/Dimensions.html +6 -6
  202. data/docs/DropboxApi/Metadata/Field.html +24 -20
  203. data/docs/DropboxApi/Metadata/File.html +10 -10
  204. data/docs/DropboxApi/Metadata/FileCategoriesList.html +205 -0
  205. data/docs/DropboxApi/Metadata/FileCategory.html +250 -0
  206. data/docs/DropboxApi/Metadata/FileExtensionsList.html +213 -0
  207. data/docs/DropboxApi/Metadata/FileLinkMetadata.html +6 -6
  208. data/docs/DropboxApi/Metadata/FileMemberAction.html +10 -10
  209. data/docs/DropboxApi/Metadata/FileRequest.html +6 -6
  210. data/docs/DropboxApi/Metadata/FileStatus.html +242 -0
  211. data/docs/DropboxApi/Metadata/Folder.html +10 -10
  212. data/docs/DropboxApi/Metadata/FolderLinkMetadata.html +6 -6
  213. data/docs/DropboxApi/Metadata/FolderSharingInfo.html +6 -6
  214. data/docs/DropboxApi/Metadata/LinkPermissions.html +6 -6
  215. data/docs/DropboxApi/Metadata/Location.html +6 -6
  216. data/docs/DropboxApi/Metadata/MediaInfo.html +9 -9
  217. data/docs/DropboxApi/Metadata/MediaMetadata.html +9 -9
  218. data/docs/DropboxApi/Metadata/Member.html +13 -13
  219. data/docs/DropboxApi/Metadata/MemberAction.html +9 -9
  220. data/docs/DropboxApi/Metadata/MemberActionList.html +9 -9
  221. data/docs/DropboxApi/Metadata/MemberPermission.html +6 -6
  222. data/docs/DropboxApi/Metadata/MemberPermissionList.html +10 -10
  223. data/docs/DropboxApi/Metadata/MetadataV2.html +140 -0
  224. data/docs/DropboxApi/Metadata/Name.html +6 -6
  225. data/docs/DropboxApi/Metadata/ParentFolderAccessInfo.html +6 -6
  226. data/docs/DropboxApi/Metadata/PhotoMetadata.html +6 -6
  227. data/docs/DropboxApi/Metadata/Resource.html +10 -10
  228. data/docs/DropboxApi/Metadata/SearchMatchFieldOptions.html +140 -0
  229. data/docs/DropboxApi/Metadata/SearchMatchTypeV2.html +244 -0
  230. data/docs/DropboxApi/Metadata/SearchMatchV2.html +216 -0
  231. data/docs/DropboxApi/Metadata/SearchOptions.html +140 -0
  232. data/docs/DropboxApi/Metadata/SearchOrderBy.html +242 -0
  233. data/docs/DropboxApi/Metadata/SharedFolder.html +6 -6
  234. data/docs/DropboxApi/Metadata/SharedFolderPolicy.html +6 -6
  235. data/docs/DropboxApi/Metadata/SharedLink.html +18 -18
  236. data/docs/DropboxApi/Metadata/SharedLinkMetadata.html +10 -10
  237. data/docs/DropboxApi/Metadata/SpaceAllocation.html +6 -6
  238. data/docs/DropboxApi/Metadata/SpaceUsage.html +6 -6
  239. data/docs/DropboxApi/Metadata/Tag.html +14 -14
  240. data/docs/DropboxApi/Metadata/Team.html +6 -6
  241. data/docs/DropboxApi/Metadata/TeamMemberInfo.html +6 -6
  242. data/docs/DropboxApi/Metadata/ThumbnailBatchResultData.html +6 -6
  243. data/docs/DropboxApi/Metadata/ThumbnailBatchResultEntry.html +11 -11
  244. data/docs/DropboxApi/Metadata/UploadSessionCursor.html +9 -9
  245. data/docs/DropboxApi/Metadata/VideoMetadata.html +6 -6
  246. data/docs/DropboxApi/Metadata/WriteMode.html +21 -21
  247. data/docs/DropboxApi/Metadata.html +8 -8
  248. data/docs/DropboxApi/MiddleWare/DecodeResult.html +13 -13
  249. data/docs/DropboxApi/MiddleWare/Stack.html +22 -22
  250. data/docs/DropboxApi/MiddleWare.html +6 -6
  251. data/docs/DropboxApi/OptionsValidator.html +10 -10
  252. data/docs/DropboxApi/ResultBuilder.html +30 -30
  253. data/docs/DropboxApi/Results/AddFileMemberResultList.html +10 -10
  254. data/docs/DropboxApi/Results/Base.html +11 -11
  255. data/docs/DropboxApi/Results/BasicAccountBatch.html +10 -10
  256. data/docs/DropboxApi/Results/CopyBatchResult.html +224 -0
  257. data/docs/DropboxApi/Results/CreateFolderBatchResult.html +241 -0
  258. data/docs/DropboxApi/Results/CreateFolderBatchResultEntry.html +234 -0
  259. data/docs/DropboxApi/Results/DeleteBatchResult.html +241 -0
  260. data/docs/DropboxApi/Results/DeleteBatchResultEntry.html +226 -0
  261. data/docs/DropboxApi/Results/GetCopyReferenceResult.html +18 -18
  262. data/docs/DropboxApi/Results/GetTemporaryLinkResult.html +14 -14
  263. data/docs/DropboxApi/Results/GetThumbnailBatchResult.html +10 -10
  264. data/docs/DropboxApi/Results/ListFolderGetLatestCursorResult.html +10 -10
  265. data/docs/DropboxApi/Results/ListFolderLongpollResult.html +14 -14
  266. data/docs/DropboxApi/Results/ListFolderResult.html +18 -18
  267. data/docs/DropboxApi/Results/ListRevisionsResult.html +14 -14
  268. data/docs/DropboxApi/Results/ListSharedLinksResult.html +18 -18
  269. data/docs/DropboxApi/Results/RelocationBatchResult.html +241 -0
  270. data/docs/DropboxApi/Results/RelocationBatchResultEntry.html +226 -0
  271. data/docs/DropboxApi/Results/SaveCopyReferenceResult.html +10 -10
  272. data/docs/DropboxApi/Results/SaveUrlJobStatus.html +15 -15
  273. data/docs/DropboxApi/Results/SaveUrlResult.html +10 -10
  274. data/docs/DropboxApi/Results/Search/Match.html +18 -18
  275. data/docs/DropboxApi/Results/Search.html +6 -6
  276. data/docs/DropboxApi/Results/SearchResult.html +3 -3
  277. data/docs/DropboxApi/Results/SearchV2Result.html +368 -0
  278. data/docs/DropboxApi/Results/ShareFolderLaunch.html +12 -12
  279. data/docs/DropboxApi/Results/SharedFileMembers.html +22 -22
  280. data/docs/DropboxApi/Results/SharedFolderMembers.html +22 -22
  281. data/docs/DropboxApi/Results/UploadSessionStart.html +10 -10
  282. data/docs/DropboxApi/Results/VoidResult.html +6 -6
  283. data/docs/DropboxApi/Results.html +8 -8
  284. data/docs/DropboxApi.html +7 -7
  285. data/docs/DropboxScaffoldBuilder.html +269 -102
  286. data/docs/_index.html +208 -12
  287. data/docs/class_list.html +3 -3
  288. data/docs/css/common.css +3 -0
  289. data/docs/css/style.css +3 -2
  290. data/docs/file.README.html +28 -23
  291. data/docs/file.api_coverage.html +21 -21
  292. data/docs/file.rails_setup.html +10 -10
  293. data/docs/file_list.html +2 -2
  294. data/docs/frames.html +2 -2
  295. data/docs/index.html +28 -23
  296. data/docs/js/app.js +25 -3
  297. data/docs/method_list.html +538 -290
  298. data/docs/top-level-namespace.html +6 -6
  299. data/dropbox_api.gemspec +15 -16
  300. data/lib/dropbox_api/authenticator.rb +5 -8
  301. data/lib/dropbox_api/chunked_uploader.rb +2 -1
  302. data/lib/dropbox_api/client.rb +24 -2
  303. data/lib/dropbox_api/connection_builder.rb +39 -4
  304. data/lib/dropbox_api/endpoints/auth/token_revoke.rb +2 -1
  305. data/lib/dropbox_api/endpoints/base.rb +31 -5
  306. data/lib/dropbox_api/endpoints/content_download.rb +5 -7
  307. data/lib/dropbox_api/endpoints/content_upload.rb +3 -2
  308. data/lib/dropbox_api/endpoints/file_requests/create_file_request.rb +2 -1
  309. data/lib/dropbox_api/endpoints/files/copy.rb +4 -3
  310. data/lib/dropbox_api/endpoints/files/copy_batch.rb +36 -0
  311. data/lib/dropbox_api/endpoints/files/copy_batch_check.rb +21 -0
  312. data/lib/dropbox_api/endpoints/files/copy_reference_get.rb +3 -2
  313. data/lib/dropbox_api/endpoints/files/copy_reference_save.rb +4 -3
  314. data/lib/dropbox_api/endpoints/files/create_folder.rb +3 -2
  315. data/lib/dropbox_api/endpoints/files/create_folder_batch.rb +41 -0
  316. data/lib/dropbox_api/endpoints/files/create_folder_batch_check.rb +22 -0
  317. data/lib/dropbox_api/endpoints/files/delete.rb +3 -2
  318. data/lib/dropbox_api/endpoints/files/delete_batch.rb +23 -0
  319. data/lib/dropbox_api/endpoints/files/delete_batch_check.rb +21 -0
  320. data/lib/dropbox_api/endpoints/files/download.rb +3 -2
  321. data/lib/dropbox_api/endpoints/files/get_metadata.rb +3 -2
  322. data/lib/dropbox_api/endpoints/files/get_preview.rb +3 -2
  323. data/lib/dropbox_api/endpoints/files/get_temporary_link.rb +3 -2
  324. data/lib/dropbox_api/endpoints/files/get_thumbnail.rb +3 -2
  325. data/lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb +4 -3
  326. data/lib/dropbox_api/endpoints/files/list_folder.rb +3 -2
  327. data/lib/dropbox_api/endpoints/files/list_folder_continue.rb +3 -2
  328. data/lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb +2 -1
  329. data/lib/dropbox_api/endpoints/files/list_folder_longpoll.rb +3 -2
  330. data/lib/dropbox_api/endpoints/files/list_revisions.rb +3 -2
  331. data/lib/dropbox_api/endpoints/files/move.rb +4 -3
  332. data/lib/dropbox_api/endpoints/files/permanently_delete.rb +3 -2
  333. data/lib/dropbox_api/endpoints/files/restore.rb +4 -3
  334. data/lib/dropbox_api/endpoints/files/save_url.rb +4 -3
  335. data/lib/dropbox_api/endpoints/files/save_url_check_job_status.rb +3 -2
  336. data/lib/dropbox_api/endpoints/files/search.rb +16 -27
  337. data/lib/dropbox_api/endpoints/files/search_continue.rb +23 -0
  338. data/lib/dropbox_api/endpoints/files/upload.rb +3 -2
  339. data/lib/dropbox_api/endpoints/files/upload_session_append_v2.rb +3 -2
  340. data/lib/dropbox_api/endpoints/files/upload_session_finish.rb +4 -3
  341. data/lib/dropbox_api/endpoints/files/upload_session_start.rb +4 -3
  342. data/lib/dropbox_api/endpoints/rpc.rb +3 -2
  343. data/lib/dropbox_api/endpoints/rpc_content.rb +3 -2
  344. data/lib/dropbox_api/endpoints/rpc_notify.rb +3 -2
  345. data/lib/dropbox_api/endpoints/sharing/add_file_member.rb +4 -3
  346. data/lib/dropbox_api/endpoints/sharing/add_folder_member.rb +4 -3
  347. data/lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb +4 -3
  348. data/lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb +3 -2
  349. data/lib/dropbox_api/endpoints/sharing/list_file_members.rb +4 -3
  350. data/lib/dropbox_api/endpoints/sharing/list_folder_members.rb +4 -3
  351. data/lib/dropbox_api/endpoints/sharing/list_shared_links.rb +2 -1
  352. data/lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb +3 -2
  353. data/lib/dropbox_api/endpoints/sharing/share_folder.rb +3 -2
  354. data/lib/dropbox_api/endpoints/sharing/unshare_file.rb +3 -2
  355. data/lib/dropbox_api/endpoints/users/get_account.rb +3 -2
  356. data/lib/dropbox_api/endpoints/users/get_account_batch.rb +3 -2
  357. data/lib/dropbox_api/endpoints/users/get_current_account.rb +2 -1
  358. data/lib/dropbox_api/endpoints/users/get_space_usage.rb +2 -1
  359. data/lib/dropbox_api/endpoints/virtual/upload_by_chunks.rb +1 -0
  360. data/lib/dropbox_api/errors/add_file_member_error.rb +5 -4
  361. data/lib/dropbox_api/errors/add_folder_member_error.rb +11 -10
  362. data/lib/dropbox_api/errors/add_member_selector_error.rb +6 -5
  363. data/lib/dropbox_api/errors/already_shared_error.rb +1 -0
  364. data/lib/dropbox_api/errors/basic_error.rb +2 -1
  365. data/lib/dropbox_api/errors/create_file_request_error.rb +1 -0
  366. data/lib/dropbox_api/errors/create_folder_batch_error.rb +8 -0
  367. data/lib/dropbox_api/errors/create_folder_error.rb +2 -1
  368. data/lib/dropbox_api/errors/create_shared_link_with_settings_error.rb +6 -5
  369. data/lib/dropbox_api/errors/delete_error.rb +5 -3
  370. data/lib/dropbox_api/errors/download_error.rb +2 -1
  371. data/lib/dropbox_api/errors/expired_access_token_error.rb +5 -0
  372. data/lib/dropbox_api/errors/file_member_action_error.rb +5 -4
  373. data/lib/dropbox_api/errors/get_account_error.rb +2 -1
  374. data/lib/dropbox_api/errors/get_copy_reference_error.rb +2 -1
  375. data/lib/dropbox_api/errors/get_metadata_error.rb +2 -1
  376. data/lib/dropbox_api/errors/http_error.rb +1 -0
  377. data/lib/dropbox_api/errors/list_folder_continue_error.rb +3 -2
  378. data/lib/dropbox_api/errors/list_folder_error.rb +2 -1
  379. data/lib/dropbox_api/errors/list_folder_longpoll_error.rb +2 -1
  380. data/lib/dropbox_api/errors/list_revisions_error.rb +2 -1
  381. data/lib/dropbox_api/errors/list_shared_links_error.rb +3 -2
  382. data/lib/dropbox_api/errors/lookup_error.rb +6 -5
  383. data/lib/dropbox_api/errors/poll_error.rb +3 -2
  384. data/lib/dropbox_api/errors/preview_error.rb +5 -4
  385. data/lib/dropbox_api/errors/relocation_batch_entry_error.rb +10 -0
  386. data/lib/dropbox_api/errors/relocation_error.rb +8 -7
  387. data/lib/dropbox_api/errors/restore_error.rb +4 -3
  388. data/lib/dropbox_api/errors/revoke_shared_link_error.rb +5 -4
  389. data/lib/dropbox_api/errors/save_copy_reference_error.rb +6 -5
  390. data/lib/dropbox_api/errors/save_url_error.rb +5 -4
  391. data/lib/dropbox_api/errors/search_error.rb +2 -1
  392. data/lib/dropbox_api/errors/settings_error.rb +3 -2
  393. data/lib/dropbox_api/errors/share_folder_error.rb +6 -5
  394. data/lib/dropbox_api/errors/share_path_error.rb +12 -11
  395. data/lib/dropbox_api/errors/shared_folder_access_error.rb +5 -4
  396. data/lib/dropbox_api/errors/shared_link_error.rb +4 -3
  397. data/lib/dropbox_api/errors/sharing_file_access_error.rb +6 -5
  398. data/lib/dropbox_api/errors/sharing_user_error.rb +2 -1
  399. data/lib/dropbox_api/errors/thumbnail_batch_error.rb +2 -1
  400. data/lib/dropbox_api/errors/thumbnail_error.rb +5 -4
  401. data/lib/dropbox_api/errors/too_many_requests_error.rb +3 -2
  402. data/lib/dropbox_api/errors/unshare_file_error.rb +3 -2
  403. data/lib/dropbox_api/errors/upload_error.rb +2 -1
  404. data/lib/dropbox_api/errors/upload_session_finish_error.rb +4 -3
  405. data/lib/dropbox_api/errors/upload_session_lookup_error.rb +5 -4
  406. data/lib/dropbox_api/errors/upload_session_offset_error.rb +1 -0
  407. data/lib/dropbox_api/errors/upload_write_failed_error.rb +2 -1
  408. data/lib/dropbox_api/errors/write_conflict_error.rb +4 -3
  409. data/lib/dropbox_api/errors/write_error.rb +6 -5
  410. data/lib/dropbox_api/metadata/access_level.rb +1 -0
  411. data/lib/dropbox_api/metadata/add_file_member_result.rb +1 -0
  412. data/lib/dropbox_api/metadata/add_member.rb +3 -2
  413. data/lib/dropbox_api/metadata/base.rb +2 -1
  414. data/lib/dropbox_api/metadata/basic_account.rb +8 -1
  415. data/lib/dropbox_api/metadata/commit_info.rb +2 -1
  416. data/lib/dropbox_api/metadata/deleted.rb +1 -0
  417. data/lib/dropbox_api/metadata/dimensions.rb +1 -0
  418. data/lib/dropbox_api/metadata/field.rb +7 -4
  419. data/lib/dropbox_api/metadata/file.rb +2 -1
  420. data/lib/dropbox_api/metadata/file_categories_list.rb +9 -0
  421. data/lib/dropbox_api/metadata/file_category.rb +22 -0
  422. data/lib/dropbox_api/metadata/file_extensions_list.rb +13 -0
  423. data/lib/dropbox_api/metadata/file_link_metadata.rb +1 -0
  424. data/lib/dropbox_api/metadata/file_member_action.rb +2 -1
  425. data/lib/dropbox_api/metadata/file_request.rb +1 -0
  426. data/lib/dropbox_api/metadata/file_status.rb +14 -0
  427. data/lib/dropbox_api/metadata/folder.rb +2 -1
  428. data/lib/dropbox_api/metadata/folder_link_metadata.rb +1 -0
  429. data/lib/dropbox_api/metadata/folder_sharing_info.rb +1 -0
  430. data/lib/dropbox_api/metadata/link_permissions.rb +1 -0
  431. data/lib/dropbox_api/metadata/location.rb +1 -0
  432. data/lib/dropbox_api/metadata/media_info.rb +1 -0
  433. data/lib/dropbox_api/metadata/media_metadata.rb +1 -0
  434. data/lib/dropbox_api/metadata/member.rb +6 -5
  435. data/lib/dropbox_api/metadata/member_action.rb +1 -0
  436. data/lib/dropbox_api/metadata/member_action_list.rb +1 -0
  437. data/lib/dropbox_api/metadata/member_permission.rb +1 -0
  438. data/lib/dropbox_api/metadata/member_permission_list.rb +1 -0
  439. data/lib/dropbox_api/metadata/metadata_v2.rb +7 -0
  440. data/lib/dropbox_api/metadata/name.rb +1 -0
  441. data/lib/dropbox_api/metadata/namespace_id.rb +10 -0
  442. data/lib/dropbox_api/metadata/parent_folder_access_info.rb +1 -0
  443. data/lib/dropbox_api/metadata/photo_metadata.rb +1 -0
  444. data/lib/dropbox_api/metadata/resource.rb +2 -1
  445. data/lib/dropbox_api/metadata/root_info.rb +32 -0
  446. data/lib/dropbox_api/metadata/search_match_field_options.rb +9 -0
  447. data/lib/dropbox_api/metadata/search_match_type_v2.rb +16 -0
  448. data/lib/dropbox_api/metadata/search_match_v2.rb +18 -0
  449. data/lib/dropbox_api/metadata/search_options.rb +33 -0
  450. data/lib/dropbox_api/metadata/search_order_by.rb +14 -0
  451. data/lib/dropbox_api/metadata/shared_folder.rb +1 -0
  452. data/lib/dropbox_api/metadata/shared_folder_policy.rb +1 -0
  453. data/lib/dropbox_api/metadata/shared_link.rb +3 -2
  454. data/lib/dropbox_api/metadata/shared_link_metadata.rb +2 -1
  455. data/lib/dropbox_api/metadata/space_allocation.rb +1 -0
  456. data/lib/dropbox_api/metadata/space_usage.rb +1 -0
  457. data/lib/dropbox_api/metadata/tag.rb +2 -1
  458. data/lib/dropbox_api/metadata/team.rb +1 -0
  459. data/lib/dropbox_api/metadata/team_member_info.rb +1 -0
  460. data/lib/dropbox_api/metadata/team_root_info.rb +8 -0
  461. data/lib/dropbox_api/metadata/thumbnail_batch_result_data.rb +1 -0
  462. data/lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb +3 -2
  463. data/lib/dropbox_api/metadata/upload_session_cursor.rb +1 -0
  464. data/lib/dropbox_api/metadata/user_root_info.rb +7 -0
  465. data/lib/dropbox_api/metadata/video_metadata.rb +1 -0
  466. data/lib/dropbox_api/metadata/write_mode.rb +6 -5
  467. data/lib/dropbox_api/middleware/decode_result.rb +3 -2
  468. data/lib/dropbox_api/middleware/path_root.rb +35 -0
  469. data/lib/dropbox_api/middleware/stack.rb +1 -0
  470. data/lib/dropbox_api/options_validator.rb +1 -0
  471. data/lib/dropbox_api/result_builder.rb +3 -2
  472. data/lib/dropbox_api/results/add_file_member_result_list.rb +1 -0
  473. data/lib/dropbox_api/results/base.rb +1 -0
  474. data/lib/dropbox_api/results/basic_account_batch.rb +1 -0
  475. data/lib/dropbox_api/results/copy_batch_result.rb +15 -0
  476. data/lib/dropbox_api/results/create_folder_batch_result.rb +21 -0
  477. data/lib/dropbox_api/results/create_folder_batch_result_entry.rb +20 -0
  478. data/lib/dropbox_api/results/delete_batch_result.rb +21 -0
  479. data/lib/dropbox_api/results/delete_batch_result_entry.rb +16 -0
  480. data/lib/dropbox_api/results/get_copy_reference_result.rb +4 -3
  481. data/lib/dropbox_api/results/get_temporary_link_result.rb +3 -2
  482. data/lib/dropbox_api/results/get_thumbnail_batch_result.rb +2 -1
  483. data/lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb +2 -1
  484. data/lib/dropbox_api/results/list_folder_longpoll_result.rb +3 -2
  485. data/lib/dropbox_api/results/list_folder_result.rb +4 -3
  486. data/lib/dropbox_api/results/list_revisions_result.rb +3 -2
  487. data/lib/dropbox_api/results/list_shared_links_result.rb +4 -3
  488. data/lib/dropbox_api/results/relocation_batch_result.rb +21 -0
  489. data/lib/dropbox_api/results/relocation_batch_result_entry.rb +16 -0
  490. data/lib/dropbox_api/results/save_copy_reference_result.rb +2 -1
  491. data/lib/dropbox_api/results/save_url_job_status.rb +7 -6
  492. data/lib/dropbox_api/results/save_url_result.rb +2 -1
  493. data/lib/dropbox_api/results/search/match.rb +3 -2
  494. data/lib/dropbox_api/results/search_v2_result.rb +23 -0
  495. data/lib/dropbox_api/results/share_folder_launch.rb +4 -3
  496. data/lib/dropbox_api/results/shared_file_members.rb +5 -4
  497. data/lib/dropbox_api/results/shared_folder_members.rb +5 -4
  498. data/lib/dropbox_api/results/upload_session_start.rb +2 -1
  499. data/lib/dropbox_api/results/void_result.rb +1 -0
  500. data/lib/dropbox_api/version.rb +2 -1
  501. data/lib/dropbox_api.rb +38 -6
  502. data/yardoc/endpoint_handler.rb +2 -1
  503. data/yardoc/helpers/html_helper.rb +2 -1
  504. data/yardoc/rspec.rb +3 -2
  505. data/yardoc/templates/default/method_details/setup.rb +1 -0
  506. metadata +82 -28
  507. data/CHANGES.md +0 -7
  508. data/lib/dropbox_api/results/search_result.rb +0 -22
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class SharingFileAccessError < BasicError
3
4
  ErrorSubtypes = {
4
- :no_permission => NoPermissionError,
5
- :invalid_file => InvalidFileError,
6
- :is_folder => IsFolderError,
7
- :inside_public_folder => InsidePublicFolderError,
8
- :inside_osx_package => InsideOsxPackageError
5
+ no_permission: NoPermissionError,
6
+ invalid_file: InvalidFileError,
7
+ is_folder: IsFolderError,
8
+ inside_public_folder: InsidePublicFolderError,
9
+ inside_osx_package: InsideOsxPackageError
9
10
  }.freeze
10
11
  end
11
12
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class SharingUserError < BasicError
3
4
  ErrorSubtypes = {
4
- :email_unverified => EmailUnverifiedError
5
+ email_unverified: EmailUnverifiedError
5
6
  }.freeze
6
7
  end
7
8
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class ThumbnailBatchError < BasicError
3
4
  ErrorSubtypes = {
4
- :too_many_files => TooManyFilesError
5
+ too_many_files: TooManyFilesError
5
6
  }.freeze
6
7
  end
7
8
  end
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class ThumbnailError < BasicError
3
4
  ErrorSubtypes = {
4
- :path => LookupError,
5
- :unsupported_extension => UnsupportedExtensionError,
6
- :unsupported_image => UnsupportedImageError,
7
- :conversion_error => ConversionError
5
+ path: LookupError,
6
+ unsupported_extension: UnsupportedExtensionError,
7
+ unsupported_image: UnsupportedImageError,
8
+ conversion_error: ConversionError
8
9
  }.freeze
9
10
  end
10
11
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class TooManyRequestsError < BasicError; end
3
4
  class TooManyWriteOperationsError < TooManyRequestsError; end
@@ -12,8 +13,8 @@ module DropboxApi::Errors
12
13
  end
13
14
 
14
15
  ErrorSubtypes = {
15
- :too_many_requests => TooManyRequestsError,
16
- :too_many_write_operations => TooManyWriteOperationsError
16
+ too_many_requests: TooManyRequestsError,
17
+ too_many_write_operations: TooManyWriteOperationsError
17
18
  }
18
19
  end
19
20
  end
@@ -1,8 +1,9 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class UnshareFileError < BasicError
3
4
  ErrorSubtypes = {
4
- :user_error => SharingUserError,
5
- :access_error => SharingFileAccessError
5
+ user_error: SharingUserError,
6
+ access_error: SharingFileAccessError
6
7
  }.freeze
7
8
  end
8
9
  end
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class UploadError < BasicError
3
4
  ErrorSubtypes = {
4
- :path => UploadWriteFailedError
5
+ path: UploadWriteFailedError
5
6
  }.freeze
6
7
  end
7
8
  end
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class UploadSessionFinishError < BasicError
3
4
  ErrorSubtypes = {
4
- :lookup_failed => UploadSessionLookupError,
5
- :path => WriteError,
6
- :too_many_shared_folder_targets => TooManySharedFolderTargetsError
5
+ lookup_failed: UploadSessionLookupError,
6
+ path: WriteError,
7
+ too_many_shared_folder_targets: TooManySharedFolderTargetsError
7
8
  }.freeze
8
9
  end
9
10
  end
@@ -1,10 +1,11 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class UploadSessionLookupError < BasicError
3
4
  ErrorSubtypes = {
4
- :not_found => NotFoundError,
5
- :incorrect_offset => UploadSessionOffsetError,
6
- :closed => CursorClosedError,
7
- :not_closed => CursorNotClosedError
5
+ not_found: NotFoundError,
6
+ incorrect_offset: UploadSessionOffsetError,
7
+ closed: CursorClosedError,
8
+ not_closed: CursorNotClosedError
8
9
  }.freeze
9
10
  end
10
11
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class UploadSessionOffsetError < BasicError
3
4
  def initialize(message, metadata)
@@ -1,7 +1,8 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class UploadWriteFailedError < BasicError
3
4
  ErrorSubtypes = {
4
- :reason => WriteError
5
+ reason: WriteError
5
6
  }.freeze
6
7
  end
7
8
  end
@@ -1,9 +1,10 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class WriteConflictError < BasicError
3
4
  ErrorSubtypes = {
4
- :file => FileConflictError,
5
- :folder => FolderConflictError,
6
- :file_ancestor => FileAncestorConflictError
5
+ file: FileConflictError,
6
+ folder: FolderConflictError,
7
+ file_ancestor: FileAncestorConflictError
7
8
  }
8
9
  end
9
10
  end
@@ -1,11 +1,12 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Errors
2
3
  class WriteError < BasicError
3
4
  ErrorSubtypes = {
4
- :malformed_path => MalformedPathError,
5
- :conflict => WriteConflictError,
6
- :no_write_permission => NoWritePermissionError,
7
- :insufficient_space => InsufficientSpaceError,
8
- :disallowed_name => DisallowedNameError
5
+ malformed_path: MalformedPathError,
6
+ conflict: WriteConflictError,
7
+ no_write_permission: NoWritePermissionError,
8
+ insufficient_space: InsufficientSpaceError,
9
+ disallowed_name: DisallowedNameError
9
10
  }
10
11
  end
11
12
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {AccessLevel} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a {AddFileMemberResult}:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Examples of serialized {AddMember} objects:
3
4
  #
@@ -25,8 +26,8 @@ module DropboxApi::Metadata
25
26
  class << self
26
27
  def build_from_string(member, access_level = :editor)
27
28
  new({
28
- "member" => Member.new(member),
29
- "access_level" => access_level
29
+ 'member' => Member.new(member),
30
+ 'access_level' => access_level
30
31
  })
31
32
  end
32
33
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class Base
3
4
  class << self
@@ -46,7 +47,7 @@ module DropboxApi::Metadata
46
47
  value = send field_name
47
48
  case value
48
49
  when Time
49
- value.utc.strftime("%FT%TZ")
50
+ value.utc.strftime('%FT%TZ')
50
51
  when DropboxApi::Metadata::Base
51
52
  value.to_hash
52
53
  else
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {BasicAccount} object:
3
4
  #
@@ -15,7 +16,12 @@ module DropboxApi::Metadata
15
16
  # "disabled": false,
16
17
  # "is_teammate": true,
17
18
  # "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbid%3AAAH4f99T0taONIb-OurWxbNQ6ywGRopQngc?vers=1453416696524&size=128x128",
18
- # "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU"
19
+ # "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU",
20
+ # "root_info": {
21
+ # root_namespace_id: 7,
22
+ # home_namespace_id: 1,
23
+ # home_path: "/Franz Ferdinand"
24
+ # }
19
25
  # }
20
26
  # ```
21
27
  class BasicAccount < Base
@@ -27,5 +33,6 @@ module DropboxApi::Metadata
27
33
  field :is_teammate, :boolean, :optional
28
34
  field :profile_photo_url, String, :optional
29
35
  field :team_member_id, :boolean, :optional
36
+ field :root_info, DropboxApi::Metadata::RootInfo, :optional
30
37
  end
31
38
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class CommitInfo < Base
3
4
  field :path, String
@@ -36,7 +37,7 @@ module DropboxApi::Metadata
36
37
  end
37
38
 
38
39
  def build_client_modified(client_modified)
39
- client_modified.utc.strftime("%FT%TZ")
40
+ client_modified.utc.strftime('%FT%TZ')
40
41
  end
41
42
  end
42
43
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {Deleted} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class Dimensions < Base
3
4
  field :height, Integer
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class Field
3
4
  def initialize(type, options = [])
@@ -24,13 +25,15 @@ module DropboxApi::Metadata
24
25
  elsif @type == Float
25
26
  object.to_f
26
27
  elsif @type == Symbol
27
- object[".tag"].to_sym
28
+ object['.tag'].to_sym
28
29
  elsif @type == :boolean
29
- object.to_s == "true"
30
- elsif @type.ancestors.include? DropboxApi::Metadata::Base
30
+ object.to_s == 'true'
31
+ elsif @type.ancestors.include?(DropboxApi::Metadata::Base) ||
32
+ @type.ancestors.include?(Array) ||
33
+ @type == DropboxApi::Metadata::Resource
31
34
  @type.new(object)
32
35
  else
33
- raise NotImplementedError, "Can't cast `#{@type}`"
36
+ raise NotImplementedError, "Can't cast #{object} to `#{@type}`"
34
37
  end
35
38
  end
36
39
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {File} object:
3
4
  #
@@ -33,7 +34,7 @@ module DropboxApi::Metadata
33
34
  field :has_explicit_shared_members, :boolean, :optional
34
35
 
35
36
  def to_hash
36
- super.merge(".tag" => "file")
37
+ super.merge('.tag' => 'file')
37
38
  end
38
39
  end
39
40
  end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class FileCategoriesList < Array
5
+ def initialize(list)
6
+ super(list.map { |c| DropboxApi::Metadata::FileCategory.new c })
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class FileCategory < DropboxApi::Metadata::Tag
5
+ VALID_VALUES = %i[
6
+ image
7
+ document
8
+ pdf
9
+ spreadsheet
10
+ presentation
11
+ audio
12
+ video
13
+ folder
14
+ paper
15
+ others
16
+ ].freeze
17
+
18
+ def self.valid_values
19
+ VALID_VALUES
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class FileExtensionsList < Array
5
+ def initialize(data)
6
+ if !data.is_a?(Array) || data.any? { |v| !v.is_a? String }
7
+ raise ArgumentError, "Invalid extension list: #{data.inspect}."
8
+ end
9
+
10
+ super(data)
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {FileLinkMetadata} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized FileMemberAction:
3
4
  #
@@ -12,7 +13,7 @@ module DropboxApi::Metadata
12
13
  class FileMemberAction < Base
13
14
  class << self
14
15
  def new(data)
15
- tag = data[".tag"]
16
+ tag = data['.tag']
16
17
  class_for(tag.to_sym).new(data[tag])
17
18
  end
18
19
 
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {FileRequest} object:
3
4
  #
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class FileStatus < DropboxApi::Metadata::Tag
5
+ VALID_VALUES = %i[
6
+ active
7
+ deleted
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 {Folder} object:
3
4
  #
@@ -17,7 +18,7 @@ module DropboxApi::Metadata
17
18
  field :sharing_info, DropboxApi::Metadata::FolderSharingInfo, :optional
18
19
 
19
20
  def to_hash
20
- super.merge(".tag" => "folder")
21
+ super.merge('.tag' => 'folder')
21
22
  end
22
23
  end
23
24
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class FolderLinkMetadata < Base
3
4
  field :url, String
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {FolderSharingInfo} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {LinkPermissions} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class Location < Base
3
4
  field :latitude, Float
@@ -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
  # Example of a serialized {MediaInfo} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Examples of serialized {AddMember} objects:
3
4
  #
@@ -33,7 +34,7 @@ module DropboxApi::Metadata
33
34
  private
34
35
 
35
36
  def hash_from_email_or_dropbox_id(email_or_id)
36
- if email_or_id.start_with? "dbid:"
37
+ if email_or_id.start_with? 'dbid:'
37
38
  hash_from_dropbox_id email_or_id
38
39
  elsif email_or_id =~ /\A[^@\s]+@[^@\s]+\z/
39
40
  hash_from_email email_or_id
@@ -44,15 +45,15 @@ module DropboxApi::Metadata
44
45
 
45
46
  def hash_from_dropbox_id(dropbox_id)
46
47
  {
47
- :".tag" => :dropbox_id,
48
- :dropbox_id => dropbox_id
48
+ ".tag": :dropbox_id,
49
+ dropbox_id: dropbox_id
49
50
  }
50
51
  end
51
52
 
52
53
  def hash_from_email(email)
53
54
  {
54
- :".tag" => :email,
55
- :email => email
55
+ ".tag": :email,
56
+ email: email
56
57
  }
57
58
  end
58
59
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # An action will be one of the following:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class MemberActionList < Array
3
4
  # Builds a list of actions for a shared folder.
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # This is an example of a serialized {MemberPermission}:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # This represents a collection of permissions on allowed on a
3
4
  # shared file or folder.
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class MetadataV2 < Base
5
+ field :metadata, DropboxApi::Metadata::Resource
6
+ end
7
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {Name} object:
3
4
  #
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+ module DropboxApi::Metadata
3
+ class NamespaceId < Base
4
+ field :namespace_id, String
5
+
6
+ def to_hash
7
+ super.merge({".tag": 'namespace_id'})
8
+ end
9
+ end
10
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  class ParentFolderAccessInfo < Base
3
4
  field :folder_name, String
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # Example of a serialized {PhotoMetadata} object:
3
4
  #
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  module DropboxApi::Metadata
2
3
  # This class is used as an adapter so we can create an object of the pertinent
3
4
  # class when we need to infer the type from the data.
@@ -9,7 +10,7 @@ module DropboxApi::Metadata
9
10
  class Resource
10
11
  class << self
11
12
  def new(data)
12
- class_for(data[".tag"].to_sym).new(data)
13
+ class_for(data['.tag'].to_sym).new(data)
13
14
  end
14
15
 
15
16
  private
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+ module DropboxApi::Metadata
3
+ # Example of a serialized {RootInfo} object:
4
+ #
5
+ # ```json
6
+ # {
7
+ # ".tag":"user",
8
+ # "root_namespace_id":"42",
9
+ # "home_namespace_id":"42"
10
+ # }
11
+ # ```
12
+ class RootInfo < Base
13
+ class << self
14
+ def new(data)
15
+ class_for(data['.tag'].to_sym).new(data)
16
+ end
17
+
18
+ private
19
+
20
+ def class_for(tag)
21
+ case tag
22
+ when :user
23
+ DropboxApi::Metadata::UserRootInfo
24
+ when :team
25
+ DropboxApi::Metadata::TeamRootInfo
26
+ else
27
+ raise ArgumentError, "Unable to infer type for `#{tag}`"
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class SearchMatchFieldOptions < Base
5
+ # Whether to include highlight span from file title. The default for
6
+ # this field is False.
7
+ field :include_highlights, :boolean, :optional
8
+ end
9
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class SearchMatchTypeV2 < DropboxApi::Metadata::Tag
5
+ VALID_VALUES = %i[
6
+ filename
7
+ file_content
8
+ filename_and_content
9
+ image_content
10
+ ].freeze
11
+
12
+ def self.valid_values
13
+ VALID_VALUES
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class SearchMatchV2 < Base
5
+ # The metadata for the matched file or folder.
6
+ field :metadata, DropboxApi::Metadata::MetadataV2
7
+
8
+ # The type of the match. This field is optional.
9
+ field :match_type, SearchMatchTypeV2
10
+
11
+ def resource
12
+ # for some strange reason, v2 of this search endpoint doesn't have
13
+ # the `resource` field anymore and file metadata is wrapped in a
14
+ # metadata/metadata field...
15
+ metadata.metadata
16
+ end
17
+ end
18
+ end