dropbox_api 0.1.18 → 0.1.19

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 (212) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +9 -8
  3. data/.travis.yml +0 -2
  4. data/Gemfile +4 -3
  5. data/README.md +7 -2
  6. data/Rakefile +4 -3
  7. data/api_coverage.md +1 -1
  8. data/bin/console +4 -3
  9. data/dropbox_api.gemspec +15 -14
  10. data/lib/dropbox_api.rb +12 -2
  11. data/lib/dropbox_api/authenticator.rb +3 -2
  12. data/lib/dropbox_api/chunked_uploader.rb +2 -1
  13. data/lib/dropbox_api/client.rb +2 -1
  14. data/lib/dropbox_api/connection_builder.rb +1 -0
  15. data/lib/dropbox_api/endpoints/auth/token_revoke.rb +2 -1
  16. data/lib/dropbox_api/endpoints/base.rb +4 -3
  17. data/lib/dropbox_api/endpoints/content_download.rb +4 -6
  18. data/lib/dropbox_api/endpoints/content_upload.rb +2 -1
  19. data/lib/dropbox_api/endpoints/file_requests/create_file_request.rb +4 -3
  20. data/lib/dropbox_api/endpoints/files/copy.rb +4 -3
  21. data/lib/dropbox_api/endpoints/files/copy_batch.rb +3 -2
  22. data/lib/dropbox_api/endpoints/files/copy_batch_check.rb +3 -2
  23. data/lib/dropbox_api/endpoints/files/copy_reference_get.rb +3 -2
  24. data/lib/dropbox_api/endpoints/files/copy_reference_save.rb +4 -3
  25. data/lib/dropbox_api/endpoints/files/create_folder.rb +3 -2
  26. data/lib/dropbox_api/endpoints/files/create_folder_batch.rb +3 -2
  27. data/lib/dropbox_api/endpoints/files/create_folder_batch_check.rb +3 -2
  28. data/lib/dropbox_api/endpoints/files/delete.rb +3 -2
  29. data/lib/dropbox_api/endpoints/files/delete_batch.rb +3 -2
  30. data/lib/dropbox_api/endpoints/files/delete_batch_check.rb +3 -2
  31. data/lib/dropbox_api/endpoints/files/download.rb +3 -2
  32. data/lib/dropbox_api/endpoints/files/get_metadata.rb +3 -2
  33. data/lib/dropbox_api/endpoints/files/get_preview.rb +3 -2
  34. data/lib/dropbox_api/endpoints/files/get_temporary_link.rb +3 -2
  35. data/lib/dropbox_api/endpoints/files/get_thumbnail.rb +3 -2
  36. data/lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb +4 -3
  37. data/lib/dropbox_api/endpoints/files/list_folder.rb +3 -2
  38. data/lib/dropbox_api/endpoints/files/list_folder_continue.rb +3 -2
  39. data/lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb +2 -1
  40. data/lib/dropbox_api/endpoints/files/list_folder_longpoll.rb +3 -2
  41. data/lib/dropbox_api/endpoints/files/list_revisions.rb +3 -2
  42. data/lib/dropbox_api/endpoints/files/move.rb +4 -3
  43. data/lib/dropbox_api/endpoints/files/permanently_delete.rb +3 -2
  44. data/lib/dropbox_api/endpoints/files/restore.rb +4 -3
  45. data/lib/dropbox_api/endpoints/files/save_url.rb +4 -3
  46. data/lib/dropbox_api/endpoints/files/save_url_check_job_status.rb +3 -2
  47. data/lib/dropbox_api/endpoints/files/search.rb +16 -27
  48. data/lib/dropbox_api/endpoints/files/upload.rb +2 -1
  49. data/lib/dropbox_api/endpoints/files/upload_session_append_v2.rb +3 -2
  50. data/lib/dropbox_api/endpoints/files/upload_session_finish.rb +4 -3
  51. data/lib/dropbox_api/endpoints/files/upload_session_start.rb +4 -3
  52. data/lib/dropbox_api/endpoints/rpc.rb +2 -1
  53. data/lib/dropbox_api/endpoints/rpc_content.rb +2 -1
  54. data/lib/dropbox_api/endpoints/rpc_notify.rb +2 -1
  55. data/lib/dropbox_api/endpoints/sharing/add_file_member.rb +4 -3
  56. data/lib/dropbox_api/endpoints/sharing/add_folder_member.rb +4 -3
  57. data/lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb +4 -3
  58. data/lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb +3 -2
  59. data/lib/dropbox_api/endpoints/sharing/list_file_members.rb +4 -3
  60. data/lib/dropbox_api/endpoints/sharing/list_folder_members.rb +4 -3
  61. data/lib/dropbox_api/endpoints/sharing/list_shared_links.rb +2 -1
  62. data/lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb +3 -2
  63. data/lib/dropbox_api/endpoints/sharing/share_folder.rb +3 -2
  64. data/lib/dropbox_api/endpoints/sharing/unshare_file.rb +3 -2
  65. data/lib/dropbox_api/endpoints/users/get_account.rb +3 -2
  66. data/lib/dropbox_api/endpoints/users/get_account_batch.rb +3 -2
  67. data/lib/dropbox_api/endpoints/users/get_current_account.rb +2 -1
  68. data/lib/dropbox_api/endpoints/users/get_space_usage.rb +2 -1
  69. data/lib/dropbox_api/endpoints/virtual/upload_by_chunks.rb +1 -0
  70. data/lib/dropbox_api/errors/add_file_member_error.rb +5 -4
  71. data/lib/dropbox_api/errors/add_folder_member_error.rb +11 -10
  72. data/lib/dropbox_api/errors/add_member_selector_error.rb +6 -5
  73. data/lib/dropbox_api/errors/already_shared_error.rb +1 -0
  74. data/lib/dropbox_api/errors/basic_error.rb +2 -1
  75. data/lib/dropbox_api/errors/create_file_request_error.rb +1 -0
  76. data/lib/dropbox_api/errors/create_folder_batch_error.rb +2 -1
  77. data/lib/dropbox_api/errors/create_folder_error.rb +2 -1
  78. data/lib/dropbox_api/errors/create_shared_link_with_settings_error.rb +6 -5
  79. data/lib/dropbox_api/errors/delete_error.rb +4 -3
  80. data/lib/dropbox_api/errors/download_error.rb +2 -1
  81. data/lib/dropbox_api/errors/file_member_action_error.rb +5 -4
  82. data/lib/dropbox_api/errors/get_account_error.rb +2 -1
  83. data/lib/dropbox_api/errors/get_copy_reference_error.rb +2 -1
  84. data/lib/dropbox_api/errors/get_metadata_error.rb +2 -1
  85. data/lib/dropbox_api/errors/http_error.rb +1 -0
  86. data/lib/dropbox_api/errors/list_folder_continue_error.rb +3 -2
  87. data/lib/dropbox_api/errors/list_folder_error.rb +2 -1
  88. data/lib/dropbox_api/errors/list_folder_longpoll_error.rb +2 -1
  89. data/lib/dropbox_api/errors/list_revisions_error.rb +2 -1
  90. data/lib/dropbox_api/errors/list_shared_links_error.rb +3 -2
  91. data/lib/dropbox_api/errors/lookup_error.rb +6 -5
  92. data/lib/dropbox_api/errors/poll_error.rb +3 -2
  93. data/lib/dropbox_api/errors/preview_error.rb +5 -4
  94. data/lib/dropbox_api/errors/relocation_batch_entry_error.rb +4 -3
  95. data/lib/dropbox_api/errors/relocation_error.rb +8 -7
  96. data/lib/dropbox_api/errors/restore_error.rb +4 -3
  97. data/lib/dropbox_api/errors/revoke_shared_link_error.rb +5 -4
  98. data/lib/dropbox_api/errors/save_copy_reference_error.rb +6 -5
  99. data/lib/dropbox_api/errors/save_url_error.rb +5 -4
  100. data/lib/dropbox_api/errors/search_error.rb +2 -1
  101. data/lib/dropbox_api/errors/settings_error.rb +3 -2
  102. data/lib/dropbox_api/errors/share_folder_error.rb +6 -5
  103. data/lib/dropbox_api/errors/share_path_error.rb +12 -11
  104. data/lib/dropbox_api/errors/shared_folder_access_error.rb +5 -4
  105. data/lib/dropbox_api/errors/shared_link_error.rb +4 -3
  106. data/lib/dropbox_api/errors/sharing_file_access_error.rb +6 -5
  107. data/lib/dropbox_api/errors/sharing_user_error.rb +2 -1
  108. data/lib/dropbox_api/errors/thumbnail_batch_error.rb +2 -1
  109. data/lib/dropbox_api/errors/thumbnail_error.rb +5 -4
  110. data/lib/dropbox_api/errors/too_many_requests_error.rb +3 -2
  111. data/lib/dropbox_api/errors/unshare_file_error.rb +3 -2
  112. data/lib/dropbox_api/errors/upload_error.rb +2 -1
  113. data/lib/dropbox_api/errors/upload_session_finish_error.rb +4 -3
  114. data/lib/dropbox_api/errors/upload_session_lookup_error.rb +5 -4
  115. data/lib/dropbox_api/errors/upload_session_offset_error.rb +1 -0
  116. data/lib/dropbox_api/errors/upload_write_failed_error.rb +2 -1
  117. data/lib/dropbox_api/errors/write_conflict_error.rb +4 -3
  118. data/lib/dropbox_api/errors/write_error.rb +6 -5
  119. data/lib/dropbox_api/metadata/access_level.rb +1 -0
  120. data/lib/dropbox_api/metadata/add_file_member_result.rb +1 -0
  121. data/lib/dropbox_api/metadata/add_member.rb +3 -2
  122. data/lib/dropbox_api/metadata/base.rb +2 -1
  123. data/lib/dropbox_api/metadata/basic_account.rb +1 -0
  124. data/lib/dropbox_api/metadata/commit_info.rb +2 -1
  125. data/lib/dropbox_api/metadata/deleted.rb +1 -0
  126. data/lib/dropbox_api/metadata/dimensions.rb +1 -0
  127. data/lib/dropbox_api/metadata/field.rb +7 -4
  128. data/lib/dropbox_api/metadata/file.rb +2 -1
  129. data/lib/dropbox_api/metadata/file_categories_list.rb +9 -0
  130. data/lib/dropbox_api/metadata/file_category.rb +22 -0
  131. data/lib/dropbox_api/metadata/file_extensions_list.rb +13 -0
  132. data/lib/dropbox_api/metadata/file_link_metadata.rb +1 -0
  133. data/lib/dropbox_api/metadata/file_member_action.rb +2 -1
  134. data/lib/dropbox_api/metadata/file_request.rb +1 -0
  135. data/lib/dropbox_api/metadata/file_status.rb +14 -0
  136. data/lib/dropbox_api/metadata/folder.rb +2 -1
  137. data/lib/dropbox_api/metadata/folder_link_metadata.rb +1 -0
  138. data/lib/dropbox_api/metadata/folder_sharing_info.rb +1 -0
  139. data/lib/dropbox_api/metadata/link_permissions.rb +1 -0
  140. data/lib/dropbox_api/metadata/location.rb +1 -0
  141. data/lib/dropbox_api/metadata/media_info.rb +1 -0
  142. data/lib/dropbox_api/metadata/media_metadata.rb +1 -0
  143. data/lib/dropbox_api/metadata/member.rb +6 -5
  144. data/lib/dropbox_api/metadata/member_action.rb +1 -0
  145. data/lib/dropbox_api/metadata/member_action_list.rb +1 -0
  146. data/lib/dropbox_api/metadata/member_permission.rb +1 -0
  147. data/lib/dropbox_api/metadata/member_permission_list.rb +1 -0
  148. data/lib/dropbox_api/metadata/metadata_v2.rb +7 -0
  149. data/lib/dropbox_api/metadata/name.rb +1 -0
  150. data/lib/dropbox_api/metadata/parent_folder_access_info.rb +1 -0
  151. data/lib/dropbox_api/metadata/photo_metadata.rb +1 -0
  152. data/lib/dropbox_api/metadata/resource.rb +2 -1
  153. data/lib/dropbox_api/metadata/search_match_field_options.rb +9 -0
  154. data/lib/dropbox_api/metadata/search_match_type_v2.rb +16 -0
  155. data/lib/dropbox_api/metadata/search_match_v2.rb +18 -0
  156. data/lib/dropbox_api/metadata/search_options.rb +33 -0
  157. data/lib/dropbox_api/metadata/search_order_by.rb +14 -0
  158. data/lib/dropbox_api/metadata/shared_folder.rb +1 -0
  159. data/lib/dropbox_api/metadata/shared_folder_policy.rb +1 -0
  160. data/lib/dropbox_api/metadata/shared_link.rb +3 -2
  161. data/lib/dropbox_api/metadata/shared_link_metadata.rb +2 -1
  162. data/lib/dropbox_api/metadata/space_allocation.rb +1 -0
  163. data/lib/dropbox_api/metadata/space_usage.rb +1 -0
  164. data/lib/dropbox_api/metadata/tag.rb +2 -1
  165. data/lib/dropbox_api/metadata/team.rb +1 -0
  166. data/lib/dropbox_api/metadata/team_member_info.rb +1 -0
  167. data/lib/dropbox_api/metadata/thumbnail_batch_result_data.rb +1 -0
  168. data/lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb +3 -2
  169. data/lib/dropbox_api/metadata/upload_session_cursor.rb +1 -0
  170. data/lib/dropbox_api/metadata/video_metadata.rb +1 -0
  171. data/lib/dropbox_api/metadata/write_mode.rb +6 -5
  172. data/lib/dropbox_api/middleware/decode_result.rb +3 -2
  173. data/lib/dropbox_api/middleware/stack.rb +1 -0
  174. data/lib/dropbox_api/options_validator.rb +1 -0
  175. data/lib/dropbox_api/result_builder.rb +3 -2
  176. data/lib/dropbox_api/results/add_file_member_result_list.rb +1 -0
  177. data/lib/dropbox_api/results/base.rb +1 -0
  178. data/lib/dropbox_api/results/basic_account_batch.rb +1 -0
  179. data/lib/dropbox_api/results/copy_batch_result.rb +2 -1
  180. data/lib/dropbox_api/results/create_folder_batch_result.rb +5 -4
  181. data/lib/dropbox_api/results/create_folder_batch_result_entry.rb +1 -0
  182. data/lib/dropbox_api/results/delete_batch_result.rb +5 -4
  183. data/lib/dropbox_api/results/delete_batch_result_entry.rb +1 -0
  184. data/lib/dropbox_api/results/get_copy_reference_result.rb +4 -3
  185. data/lib/dropbox_api/results/get_temporary_link_result.rb +3 -2
  186. data/lib/dropbox_api/results/get_thumbnail_batch_result.rb +2 -1
  187. data/lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb +2 -1
  188. data/lib/dropbox_api/results/list_folder_longpoll_result.rb +3 -2
  189. data/lib/dropbox_api/results/list_folder_result.rb +4 -3
  190. data/lib/dropbox_api/results/list_revisions_result.rb +3 -2
  191. data/lib/dropbox_api/results/list_shared_links_result.rb +4 -3
  192. data/lib/dropbox_api/results/relocation_batch_result.rb +5 -4
  193. data/lib/dropbox_api/results/relocation_batch_result_entry.rb +1 -0
  194. data/lib/dropbox_api/results/save_copy_reference_result.rb +2 -1
  195. data/lib/dropbox_api/results/save_url_job_status.rb +7 -6
  196. data/lib/dropbox_api/results/save_url_result.rb +2 -1
  197. data/lib/dropbox_api/results/search/match.rb +3 -2
  198. data/lib/dropbox_api/results/search_v2_result.rb +24 -0
  199. data/lib/dropbox_api/results/share_folder_launch.rb +4 -3
  200. data/lib/dropbox_api/results/shared_file_members.rb +5 -4
  201. data/lib/dropbox_api/results/shared_folder_members.rb +5 -4
  202. data/lib/dropbox_api/results/upload_session_start.rb +2 -1
  203. data/lib/dropbox_api/results/void_result.rb +1 -0
  204. data/lib/dropbox_api/version.rb +2 -1
  205. data/yardoc/endpoint_handler.rb +2 -1
  206. data/yardoc/helpers/html_helper.rb +2 -1
  207. data/yardoc/rspec.rb +8 -7
  208. data/yardoc/templates/default/method_details/setup.rb +1 -0
  209. metadata +24 -16
  210. data/.rubocop_todo.yml +0 -442
  211. data/CHANGES.md +0 -7
  212. 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
  #
@@ -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
  #