dropbox_api 0.1.18 → 0.1.19

Sign up to get free protection for your applications and to get access to all the features.
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
  #