dropbox_api 0.1.18 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -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
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DropboxApi::Metadata
4
+ class SearchOptions < Base
5
+ # Scopes the search to a path in the user's Dropbox. Searches the entire
6
+ # Dropbox if not specified. This field is optional.
7
+ field :path, String, :optional
8
+
9
+ # The maximum number of search results to return. The default for this
10
+ # field is 100.
11
+ field :max_results, Integer, :optional
12
+
13
+ # Specified property of the order of search results. By default, results
14
+ # are sorted by relevance. This field is optional.
15
+ field :order_by, DropboxApi::Metadata::SearchOrderBy, :optional
16
+
17
+ # Restricts search to the given file status. The default for this union
18
+ # is active.
19
+ field :file_status, DropboxApi::Metadata::FileStatus, :optional
20
+
21
+ # Restricts search to only match on filenames. The default for this field
22
+ # is false.
23
+ field :filename_only, :boolean, :optional
24
+
25
+ # Restricts search to only the extensions specified. Only supported for
26
+ # active file search. This field is optional.
27
+ field :file_extensions, DropboxApi::Metadata::FileExtensionsList, :optional
28
+
29
+ # Restricts search to only the file categories specified. Only supported
30
+ # for active file search. This field is optional.
31
+ field :file_categories, DropboxApi::Metadata::FileCategoriesList, :optional
32
+ end
33
+ end