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.
- checksums.yaml +4 -4
- data/.rubocop.yml +9 -8
- data/.travis.yml +0 -2
- data/Gemfile +4 -3
- data/README.md +7 -2
- data/Rakefile +4 -3
- data/api_coverage.md +1 -1
- data/bin/console +4 -3
- data/dropbox_api.gemspec +15 -14
- data/lib/dropbox_api.rb +12 -2
- data/lib/dropbox_api/authenticator.rb +3 -2
- data/lib/dropbox_api/chunked_uploader.rb +2 -1
- data/lib/dropbox_api/client.rb +2 -1
- data/lib/dropbox_api/connection_builder.rb +1 -0
- data/lib/dropbox_api/endpoints/auth/token_revoke.rb +2 -1
- data/lib/dropbox_api/endpoints/base.rb +4 -3
- data/lib/dropbox_api/endpoints/content_download.rb +4 -6
- data/lib/dropbox_api/endpoints/content_upload.rb +2 -1
- data/lib/dropbox_api/endpoints/file_requests/create_file_request.rb +4 -3
- data/lib/dropbox_api/endpoints/files/copy.rb +4 -3
- data/lib/dropbox_api/endpoints/files/copy_batch.rb +3 -2
- data/lib/dropbox_api/endpoints/files/copy_batch_check.rb +3 -2
- data/lib/dropbox_api/endpoints/files/copy_reference_get.rb +3 -2
- data/lib/dropbox_api/endpoints/files/copy_reference_save.rb +4 -3
- data/lib/dropbox_api/endpoints/files/create_folder.rb +3 -2
- data/lib/dropbox_api/endpoints/files/create_folder_batch.rb +3 -2
- data/lib/dropbox_api/endpoints/files/create_folder_batch_check.rb +3 -2
- data/lib/dropbox_api/endpoints/files/delete.rb +3 -2
- data/lib/dropbox_api/endpoints/files/delete_batch.rb +3 -2
- data/lib/dropbox_api/endpoints/files/delete_batch_check.rb +3 -2
- data/lib/dropbox_api/endpoints/files/download.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_metadata.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_preview.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_temporary_link.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_thumbnail.rb +3 -2
- data/lib/dropbox_api/endpoints/files/get_thumbnail_batch.rb +4 -3
- data/lib/dropbox_api/endpoints/files/list_folder.rb +3 -2
- data/lib/dropbox_api/endpoints/files/list_folder_continue.rb +3 -2
- data/lib/dropbox_api/endpoints/files/list_folder_get_latest_cursor.rb +2 -1
- data/lib/dropbox_api/endpoints/files/list_folder_longpoll.rb +3 -2
- data/lib/dropbox_api/endpoints/files/list_revisions.rb +3 -2
- data/lib/dropbox_api/endpoints/files/move.rb +4 -3
- data/lib/dropbox_api/endpoints/files/permanently_delete.rb +3 -2
- data/lib/dropbox_api/endpoints/files/restore.rb +4 -3
- data/lib/dropbox_api/endpoints/files/save_url.rb +4 -3
- data/lib/dropbox_api/endpoints/files/save_url_check_job_status.rb +3 -2
- data/lib/dropbox_api/endpoints/files/search.rb +16 -27
- data/lib/dropbox_api/endpoints/files/upload.rb +2 -1
- data/lib/dropbox_api/endpoints/files/upload_session_append_v2.rb +3 -2
- data/lib/dropbox_api/endpoints/files/upload_session_finish.rb +4 -3
- data/lib/dropbox_api/endpoints/files/upload_session_start.rb +4 -3
- data/lib/dropbox_api/endpoints/rpc.rb +2 -1
- data/lib/dropbox_api/endpoints/rpc_content.rb +2 -1
- data/lib/dropbox_api/endpoints/rpc_notify.rb +2 -1
- data/lib/dropbox_api/endpoints/sharing/add_file_member.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/add_folder_member.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/create_shared_link_with_settings.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/get_shared_link_metadata.rb +3 -2
- data/lib/dropbox_api/endpoints/sharing/list_file_members.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/list_folder_members.rb +4 -3
- data/lib/dropbox_api/endpoints/sharing/list_shared_links.rb +2 -1
- data/lib/dropbox_api/endpoints/sharing/revoke_shared_link.rb +3 -2
- data/lib/dropbox_api/endpoints/sharing/share_folder.rb +3 -2
- data/lib/dropbox_api/endpoints/sharing/unshare_file.rb +3 -2
- data/lib/dropbox_api/endpoints/users/get_account.rb +3 -2
- data/lib/dropbox_api/endpoints/users/get_account_batch.rb +3 -2
- data/lib/dropbox_api/endpoints/users/get_current_account.rb +2 -1
- data/lib/dropbox_api/endpoints/users/get_space_usage.rb +2 -1
- data/lib/dropbox_api/endpoints/virtual/upload_by_chunks.rb +1 -0
- data/lib/dropbox_api/errors/add_file_member_error.rb +5 -4
- data/lib/dropbox_api/errors/add_folder_member_error.rb +11 -10
- data/lib/dropbox_api/errors/add_member_selector_error.rb +6 -5
- data/lib/dropbox_api/errors/already_shared_error.rb +1 -0
- data/lib/dropbox_api/errors/basic_error.rb +2 -1
- data/lib/dropbox_api/errors/create_file_request_error.rb +1 -0
- data/lib/dropbox_api/errors/create_folder_batch_error.rb +2 -1
- data/lib/dropbox_api/errors/create_folder_error.rb +2 -1
- data/lib/dropbox_api/errors/create_shared_link_with_settings_error.rb +6 -5
- data/lib/dropbox_api/errors/delete_error.rb +4 -3
- data/lib/dropbox_api/errors/download_error.rb +2 -1
- data/lib/dropbox_api/errors/file_member_action_error.rb +5 -4
- data/lib/dropbox_api/errors/get_account_error.rb +2 -1
- data/lib/dropbox_api/errors/get_copy_reference_error.rb +2 -1
- data/lib/dropbox_api/errors/get_metadata_error.rb +2 -1
- data/lib/dropbox_api/errors/http_error.rb +1 -0
- data/lib/dropbox_api/errors/list_folder_continue_error.rb +3 -2
- data/lib/dropbox_api/errors/list_folder_error.rb +2 -1
- data/lib/dropbox_api/errors/list_folder_longpoll_error.rb +2 -1
- data/lib/dropbox_api/errors/list_revisions_error.rb +2 -1
- data/lib/dropbox_api/errors/list_shared_links_error.rb +3 -2
- data/lib/dropbox_api/errors/lookup_error.rb +6 -5
- data/lib/dropbox_api/errors/poll_error.rb +3 -2
- data/lib/dropbox_api/errors/preview_error.rb +5 -4
- data/lib/dropbox_api/errors/relocation_batch_entry_error.rb +4 -3
- data/lib/dropbox_api/errors/relocation_error.rb +8 -7
- data/lib/dropbox_api/errors/restore_error.rb +4 -3
- data/lib/dropbox_api/errors/revoke_shared_link_error.rb +5 -4
- data/lib/dropbox_api/errors/save_copy_reference_error.rb +6 -5
- data/lib/dropbox_api/errors/save_url_error.rb +5 -4
- data/lib/dropbox_api/errors/search_error.rb +2 -1
- data/lib/dropbox_api/errors/settings_error.rb +3 -2
- data/lib/dropbox_api/errors/share_folder_error.rb +6 -5
- data/lib/dropbox_api/errors/share_path_error.rb +12 -11
- data/lib/dropbox_api/errors/shared_folder_access_error.rb +5 -4
- data/lib/dropbox_api/errors/shared_link_error.rb +4 -3
- data/lib/dropbox_api/errors/sharing_file_access_error.rb +6 -5
- data/lib/dropbox_api/errors/sharing_user_error.rb +2 -1
- data/lib/dropbox_api/errors/thumbnail_batch_error.rb +2 -1
- data/lib/dropbox_api/errors/thumbnail_error.rb +5 -4
- data/lib/dropbox_api/errors/too_many_requests_error.rb +3 -2
- data/lib/dropbox_api/errors/unshare_file_error.rb +3 -2
- data/lib/dropbox_api/errors/upload_error.rb +2 -1
- data/lib/dropbox_api/errors/upload_session_finish_error.rb +4 -3
- data/lib/dropbox_api/errors/upload_session_lookup_error.rb +5 -4
- data/lib/dropbox_api/errors/upload_session_offset_error.rb +1 -0
- data/lib/dropbox_api/errors/upload_write_failed_error.rb +2 -1
- data/lib/dropbox_api/errors/write_conflict_error.rb +4 -3
- data/lib/dropbox_api/errors/write_error.rb +6 -5
- data/lib/dropbox_api/metadata/access_level.rb +1 -0
- data/lib/dropbox_api/metadata/add_file_member_result.rb +1 -0
- data/lib/dropbox_api/metadata/add_member.rb +3 -2
- data/lib/dropbox_api/metadata/base.rb +2 -1
- data/lib/dropbox_api/metadata/basic_account.rb +1 -0
- data/lib/dropbox_api/metadata/commit_info.rb +2 -1
- data/lib/dropbox_api/metadata/deleted.rb +1 -0
- data/lib/dropbox_api/metadata/dimensions.rb +1 -0
- data/lib/dropbox_api/metadata/field.rb +7 -4
- data/lib/dropbox_api/metadata/file.rb +2 -1
- data/lib/dropbox_api/metadata/file_categories_list.rb +9 -0
- data/lib/dropbox_api/metadata/file_category.rb +22 -0
- data/lib/dropbox_api/metadata/file_extensions_list.rb +13 -0
- data/lib/dropbox_api/metadata/file_link_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/file_member_action.rb +2 -1
- data/lib/dropbox_api/metadata/file_request.rb +1 -0
- data/lib/dropbox_api/metadata/file_status.rb +14 -0
- data/lib/dropbox_api/metadata/folder.rb +2 -1
- data/lib/dropbox_api/metadata/folder_link_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/folder_sharing_info.rb +1 -0
- data/lib/dropbox_api/metadata/link_permissions.rb +1 -0
- data/lib/dropbox_api/metadata/location.rb +1 -0
- data/lib/dropbox_api/metadata/media_info.rb +1 -0
- data/lib/dropbox_api/metadata/media_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/member.rb +6 -5
- data/lib/dropbox_api/metadata/member_action.rb +1 -0
- data/lib/dropbox_api/metadata/member_action_list.rb +1 -0
- data/lib/dropbox_api/metadata/member_permission.rb +1 -0
- data/lib/dropbox_api/metadata/member_permission_list.rb +1 -0
- data/lib/dropbox_api/metadata/metadata_v2.rb +7 -0
- data/lib/dropbox_api/metadata/name.rb +1 -0
- data/lib/dropbox_api/metadata/parent_folder_access_info.rb +1 -0
- data/lib/dropbox_api/metadata/photo_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/resource.rb +2 -1
- data/lib/dropbox_api/metadata/search_match_field_options.rb +9 -0
- data/lib/dropbox_api/metadata/search_match_type_v2.rb +16 -0
- data/lib/dropbox_api/metadata/search_match_v2.rb +18 -0
- data/lib/dropbox_api/metadata/search_options.rb +33 -0
- data/lib/dropbox_api/metadata/search_order_by.rb +14 -0
- data/lib/dropbox_api/metadata/shared_folder.rb +1 -0
- data/lib/dropbox_api/metadata/shared_folder_policy.rb +1 -0
- data/lib/dropbox_api/metadata/shared_link.rb +3 -2
- data/lib/dropbox_api/metadata/shared_link_metadata.rb +2 -1
- data/lib/dropbox_api/metadata/space_allocation.rb +1 -0
- data/lib/dropbox_api/metadata/space_usage.rb +1 -0
- data/lib/dropbox_api/metadata/tag.rb +2 -1
- data/lib/dropbox_api/metadata/team.rb +1 -0
- data/lib/dropbox_api/metadata/team_member_info.rb +1 -0
- data/lib/dropbox_api/metadata/thumbnail_batch_result_data.rb +1 -0
- data/lib/dropbox_api/metadata/thumbnail_batch_result_entry.rb +3 -2
- data/lib/dropbox_api/metadata/upload_session_cursor.rb +1 -0
- data/lib/dropbox_api/metadata/video_metadata.rb +1 -0
- data/lib/dropbox_api/metadata/write_mode.rb +6 -5
- data/lib/dropbox_api/middleware/decode_result.rb +3 -2
- data/lib/dropbox_api/middleware/stack.rb +1 -0
- data/lib/dropbox_api/options_validator.rb +1 -0
- data/lib/dropbox_api/result_builder.rb +3 -2
- data/lib/dropbox_api/results/add_file_member_result_list.rb +1 -0
- data/lib/dropbox_api/results/base.rb +1 -0
- data/lib/dropbox_api/results/basic_account_batch.rb +1 -0
- data/lib/dropbox_api/results/copy_batch_result.rb +2 -1
- data/lib/dropbox_api/results/create_folder_batch_result.rb +5 -4
- data/lib/dropbox_api/results/create_folder_batch_result_entry.rb +1 -0
- data/lib/dropbox_api/results/delete_batch_result.rb +5 -4
- data/lib/dropbox_api/results/delete_batch_result_entry.rb +1 -0
- data/lib/dropbox_api/results/get_copy_reference_result.rb +4 -3
- data/lib/dropbox_api/results/get_temporary_link_result.rb +3 -2
- data/lib/dropbox_api/results/get_thumbnail_batch_result.rb +2 -1
- data/lib/dropbox_api/results/list_folder_get_latest_cursor_result.rb +2 -1
- data/lib/dropbox_api/results/list_folder_longpoll_result.rb +3 -2
- data/lib/dropbox_api/results/list_folder_result.rb +4 -3
- data/lib/dropbox_api/results/list_revisions_result.rb +3 -2
- data/lib/dropbox_api/results/list_shared_links_result.rb +4 -3
- data/lib/dropbox_api/results/relocation_batch_result.rb +5 -4
- data/lib/dropbox_api/results/relocation_batch_result_entry.rb +1 -0
- data/lib/dropbox_api/results/save_copy_reference_result.rb +2 -1
- data/lib/dropbox_api/results/save_url_job_status.rb +7 -6
- data/lib/dropbox_api/results/save_url_result.rb +2 -1
- data/lib/dropbox_api/results/search/match.rb +3 -2
- data/lib/dropbox_api/results/search_v2_result.rb +24 -0
- data/lib/dropbox_api/results/share_folder_launch.rb +4 -3
- data/lib/dropbox_api/results/shared_file_members.rb +5 -4
- data/lib/dropbox_api/results/shared_folder_members.rb +5 -4
- data/lib/dropbox_api/results/upload_session_start.rb +2 -1
- data/lib/dropbox_api/results/void_result.rb +1 -0
- data/lib/dropbox_api/version.rb +2 -1
- data/yardoc/endpoint_handler.rb +2 -1
- data/yardoc/helpers/html_helper.rb +2 -1
- data/yardoc/rspec.rb +8 -7
- data/yardoc/templates/default/method_details/setup.rb +1 -0
- metadata +24 -16
- data/.rubocop_todo.yml +0 -442
- data/CHANGES.md +0 -7
- data/lib/dropbox_api/results/search_result.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c59970ce358c1a706d47040336547ea3df770fe97194122011f5695d69a4bc9
|
4
|
+
data.tar.gz: caff55f6ba1ae50d6487450c2f12ac2df2a72a2cf3573ce6d8610664de404012
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7fc4add7446cec7d25627719dffa3b293173c7ce02356d514c7ac49f17673207da670d563e63ba0bf2690376beec98325ce84fbb6843f4bedab0ec6ff1b000b9
|
7
|
+
data.tar.gz: 4d2a098c291bc47d501ba90dcce05ae43e42ab77fa1c5fe8ad83d329aec3408d1ac987d2b931fbf25fe64a1f8c51584620306b06c32e9ebe7d5bf7c0a0efc6a1
|
data/.rubocop.yml
CHANGED
@@ -1,14 +1,15 @@
|
|
1
|
-
|
1
|
+
AllCops:
|
2
|
+
DisabledByDefault: true
|
2
3
|
|
3
4
|
Style/HashSyntax:
|
4
5
|
Enabled: true
|
5
|
-
EnforcedStyle: '
|
6
|
+
EnforcedStyle: 'ruby19'
|
6
7
|
|
7
|
-
Style/
|
8
|
-
|
8
|
+
Style/FrozenStringLiteralComment:
|
9
|
+
EnforcedStyle: always_true
|
9
10
|
|
10
|
-
Style/
|
11
|
-
Enabled:
|
11
|
+
Style/RedundantFreeze:
|
12
|
+
Enabled: true
|
12
13
|
|
13
|
-
|
14
|
-
|
14
|
+
Style/StringLiterals:
|
15
|
+
EnforcedStyle: single_quotes
|
data/.travis.yml
CHANGED
data/Gemfile
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
source 'https://rubygems.org'
|
2
3
|
|
3
4
|
gemspec
|
@@ -5,9 +6,9 @@ gemspec
|
|
5
6
|
group :development do
|
6
7
|
# Documentation
|
7
8
|
gem 'redcarpet'
|
8
|
-
gem 'yard-tests-rspec', :
|
9
|
+
gem 'yard-tests-rspec', git: 'https://github.com/Jesus/yard-spec-plugin.git'
|
9
10
|
|
10
11
|
# Code linting
|
11
|
-
gem 'rubocop', :
|
12
|
-
gem 'rubocop-rspec', :
|
12
|
+
gem 'rubocop', require: false
|
13
|
+
gem 'rubocop-rspec', require: false
|
13
14
|
end
|
data/README.md
CHANGED
@@ -146,7 +146,7 @@ This gem depends on
|
|
146
146
|
and
|
147
147
|
[faraday](https://github.com/lostisland/faraday).
|
148
148
|
|
149
|
-
It has official support for Ruby versions `
|
149
|
+
It has official support for Ruby versions `2.x`.
|
150
150
|
|
151
151
|
## Development
|
152
152
|
|
@@ -172,6 +172,11 @@ would be the procedure to do so:
|
|
172
172
|
DROPBOX_OAUTH_BEARER=YOUR_AUTH_BEARER rake test:build_scaffold[list_folder]
|
173
173
|
```
|
174
174
|
|
175
|
+
Note that you'll have to type `rake test:build_scaffold\[list_folder\]`
|
176
|
+
if you use `zsh`.
|
177
|
+
|
178
|
+
You can build all available scaffolds with just `rake test:build_scaffold`.
|
179
|
+
|
175
180
|
3. Run the tests and the cassettes will be written:
|
176
181
|
|
177
182
|
```text
|
@@ -182,7 +187,7 @@ The OAuth bearer shouldn't have been recorded in the cassette and it should've
|
|
182
187
|
been filtered. However, you may want to double check before pushing your
|
183
188
|
updates to Github.
|
184
189
|
|
185
|
-
Tip:
|
190
|
+
Tip: you can simply run `export DROPBOX_OAUTH_BEARER=YOUR_AUTH_BEARER` at
|
186
191
|
the beginning of your work session so you don't need to prefix it in every
|
187
192
|
command line.
|
188
193
|
|
data/Rakefile
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
|
2
|
-
require
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'bundler/gem_tasks'
|
3
|
+
require 'rspec/core/rake_task'
|
3
4
|
require File.expand_path('../spec/support/rake_tasks', __FILE__)
|
4
5
|
|
5
6
|
RSpec::Core::RakeTask.new(:spec)
|
6
7
|
|
7
|
-
task :
|
8
|
+
task default: :spec
|
data/api_coverage.md
CHANGED
data/bin/console
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
+
# frozen_string_literal: true
|
2
3
|
|
3
|
-
require
|
4
|
-
require
|
4
|
+
require 'bundler/setup'
|
5
|
+
require 'dropbox_api'
|
5
6
|
|
6
7
|
# You can add fixtures and/or initialization code here to make experimenting
|
7
8
|
# with your gem easier. You can also use a different console, if you like.
|
@@ -10,5 +11,5 @@ require "dropbox_api"
|
|
10
11
|
# require "pry"
|
11
12
|
# Pry.start
|
12
13
|
|
13
|
-
require
|
14
|
+
require 'irb'
|
14
15
|
IRB.start
|
data/dropbox_api.gemspec
CHANGED
@@ -1,28 +1,29 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
# frozen_string_literal: true
|
2
3
|
lib = File.expand_path('../lib', __FILE__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'dropbox_api/version'
|
5
6
|
|
6
7
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
8
|
+
spec.name = 'dropbox_api'
|
8
9
|
spec.version = DropboxApi::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
10
|
+
spec.authors = ['Jesús Burgos']
|
11
|
+
spec.email = ['jburmac@gmail.com']
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
13
|
+
spec.summary = 'Library for communicating with Dropbox API v2'
|
14
|
+
spec.homepage = 'https://github.com/Jesus/dropbox_api'
|
15
|
+
spec.license = 'MIT'
|
15
16
|
|
16
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
17
18
|
|
18
|
-
spec.require_paths = [
|
19
|
+
spec.require_paths = ['lib']
|
19
20
|
|
20
|
-
spec.add_development_dependency
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
21
|
+
spec.add_development_dependency 'bundler', '>= 1.7'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'rspec'
|
24
|
+
spec.add_development_dependency 'vcr'
|
25
|
+
spec.add_development_dependency 'webmock'
|
25
26
|
|
26
|
-
spec.add_dependency
|
27
|
-
spec.add_dependency
|
27
|
+
spec.add_dependency 'faraday', '~> 1.0'
|
28
|
+
spec.add_dependency 'oauth2', '~> 1.1'
|
28
29
|
end
|
data/lib/dropbox_api.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'dropbox_api/version'
|
2
3
|
|
3
4
|
require 'time'
|
@@ -40,6 +41,16 @@ require 'dropbox_api/metadata/folder_sharing_info'
|
|
40
41
|
require 'dropbox_api/metadata/folder'
|
41
42
|
require 'dropbox_api/metadata/deleted'
|
42
43
|
require 'dropbox_api/metadata/resource'
|
44
|
+
require 'dropbox_api/metadata/metadata_v2'
|
45
|
+
require 'dropbox_api/metadata/file_category'
|
46
|
+
require 'dropbox_api/metadata/file_categories_list'
|
47
|
+
require 'dropbox_api/metadata/file_extensions_list'
|
48
|
+
require 'dropbox_api/metadata/search_order_by'
|
49
|
+
require 'dropbox_api/metadata/file_status'
|
50
|
+
require 'dropbox_api/metadata/search_options'
|
51
|
+
require 'dropbox_api/metadata/search_match_type_v2'
|
52
|
+
require 'dropbox_api/metadata/search_match_v2'
|
53
|
+
require 'dropbox_api/metadata/search_match_field_options'
|
43
54
|
require 'dropbox_api/metadata/shared_folder_policy'
|
44
55
|
require 'dropbox_api/metadata/shared_folder'
|
45
56
|
require 'dropbox_api/metadata/file_link_metadata'
|
@@ -125,8 +136,7 @@ require 'dropbox_api/results/list_folder_get_latest_cursor_result'
|
|
125
136
|
require 'dropbox_api/results/list_shared_links_result'
|
126
137
|
require 'dropbox_api/results/save_url_result'
|
127
138
|
require 'dropbox_api/results/save_url_job_status'
|
128
|
-
require 'dropbox_api/results/
|
129
|
-
require 'dropbox_api/results/search_result'
|
139
|
+
require 'dropbox_api/results/search_v2_result'
|
130
140
|
require 'dropbox_api/results/share_folder_launch'
|
131
141
|
require 'dropbox_api/results/shared_file_members'
|
132
142
|
require 'dropbox_api/results/shared_folder_members'
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require 'oauth2'
|
2
3
|
|
3
4
|
module DropboxApi
|
@@ -6,8 +7,8 @@ module DropboxApi
|
|
6
7
|
|
7
8
|
def initialize(client_id, client_secret)
|
8
9
|
@auth_code = OAuth2::Client.new(client_id, client_secret, {
|
9
|
-
:
|
10
|
-
:
|
10
|
+
authorize_url: 'https://www.dropbox.com/oauth2/authorize',
|
11
|
+
token_url: 'https://api.dropboxapi.com/oauth2/token'
|
11
12
|
}).auth_code
|
12
13
|
end
|
13
14
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi
|
2
3
|
class ChunkedUploader
|
3
4
|
include DropboxApi::OptionsValidator
|
@@ -13,7 +14,7 @@ module DropboxApi
|
|
13
14
|
|
14
15
|
def start
|
15
16
|
chunk = @i_stream.read @chunk_size
|
16
|
-
chunk =
|
17
|
+
chunk = '' if chunk.nil?
|
17
18
|
|
18
19
|
@cursor = @client.upload_session_start chunk
|
19
20
|
end
|
data/lib/dropbox_api/client.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Auth
|
2
3
|
class TokenRevoke < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path =
|
5
|
+
Path = '/2/auth/token/revoke'
|
5
6
|
ResultType = DropboxApi::Results::VoidResult
|
6
7
|
ErrorType = nil
|
7
8
|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints
|
2
3
|
class Base
|
3
4
|
def self.add_endpoint(name, &block)
|
@@ -25,11 +26,11 @@ module DropboxApi::Endpoints
|
|
25
26
|
build_result(raw_response.env[:api_result])
|
26
27
|
when 429
|
27
28
|
error = DropboxApi::Errors::TooManyRequestsError.build(
|
28
|
-
raw_response.env[:api_result][
|
29
|
-
raw_response.env[:api_result][
|
29
|
+
raw_response.env[:api_result]['error_summary'],
|
30
|
+
raw_response.env[:api_result]['error']['reason']
|
30
31
|
)
|
31
32
|
|
32
|
-
error.retry_after = raw_response.headers[
|
33
|
+
error.retry_after = raw_response.headers['retry-after'].to_i
|
33
34
|
|
34
35
|
raise error
|
35
36
|
else
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints
|
2
3
|
class ContentDownload < DropboxApi::Endpoints::Base
|
3
4
|
def initialize(builder)
|
4
|
-
@connection = builder.build(
|
5
|
+
@connection = builder.build('https://content.dropboxapi.com') do |c|
|
5
6
|
c.response :decode_result
|
6
7
|
end
|
7
8
|
end
|
@@ -20,14 +21,11 @@ module DropboxApi::Endpoints
|
|
20
21
|
response = get_response(params)
|
21
22
|
api_result = process_response response
|
22
23
|
|
23
|
-
#
|
24
|
-
#
|
24
|
+
# We just yield the whole response to the block, it'd be nice in the
|
25
|
+
# future to support an interface that streams the response in chunks.
|
25
26
|
yield response.body if block_given?
|
26
27
|
|
27
28
|
api_result
|
28
29
|
end
|
29
30
|
end
|
30
31
|
end
|
31
|
-
# TODO:
|
32
|
-
# 1. Combine ContentDownload and ContentUpload to share its initialize method.
|
33
|
-
# 2. Reorganize the methods which create the request.
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints
|
2
3
|
class ContentUpload < DropboxApi::Endpoints::Base
|
3
4
|
def initialize(builder)
|
4
|
-
@connection = builder.build(
|
5
|
+
@connection = builder.build('https://content.dropboxapi.com') do |c|
|
5
6
|
c.response :decode_result
|
6
7
|
end
|
7
8
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Files
|
2
3
|
class CreateFileRequest < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path =
|
5
|
+
Path = '/2/file_requests/create'
|
5
6
|
ResultType = DropboxApi::Metadata::FileRequest
|
6
7
|
ErrorType = DropboxApi::Errors::CreateFileRequestError
|
7
8
|
|
@@ -13,8 +14,8 @@ module DropboxApi::Endpoints::Files
|
|
13
14
|
# this will be relative to the app folder.
|
14
15
|
add_endpoint :create_file_request do |title, destination|
|
15
16
|
perform_request({
|
16
|
-
:
|
17
|
-
:
|
17
|
+
title: title,
|
18
|
+
destination: destination
|
18
19
|
})
|
19
20
|
end
|
20
21
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Files
|
2
3
|
class Copy < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path =
|
5
|
+
Path = '/2/files/copy'
|
5
6
|
ResultType = DropboxApi::Metadata::Resource
|
6
7
|
ErrorType = DropboxApi::Errors::RelocationError
|
7
8
|
|
@@ -13,8 +14,8 @@ module DropboxApi::Endpoints::Files
|
|
13
14
|
# @return The moved file.
|
14
15
|
add_endpoint :copy do |from, to|
|
15
16
|
perform_request({
|
16
|
-
:
|
17
|
-
:
|
17
|
+
from_path: from,
|
18
|
+
to_path: to
|
18
19
|
})
|
19
20
|
end
|
20
21
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Files
|
2
3
|
class CopyBatch < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path =
|
5
|
+
Path = '/2/files/copy_batch_v2'
|
5
6
|
ResultType = DropboxApi::Results::CopyBatchResult
|
6
7
|
|
7
8
|
include DropboxApi::OptionsValidator
|
@@ -28,7 +29,7 @@ module DropboxApi::Endpoints::Files
|
|
28
29
|
options[:autorename] ||= false
|
29
30
|
|
30
31
|
perform_request(options.merge({
|
31
|
-
:
|
32
|
+
entries: entries
|
32
33
|
}))
|
33
34
|
end
|
34
35
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Files
|
2
3
|
class CopyBatchCheck < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path = '/2/files/copy_batch/check_v2'
|
5
|
+
Path = '/2/files/copy_batch/check_v2'
|
5
6
|
ResultType = DropboxApi::Results::RelocationBatchResult
|
6
7
|
ErrorType = DropboxApi::Errors::PollError
|
7
8
|
|
@@ -14,7 +15,7 @@ module DropboxApi::Endpoints::Files
|
|
14
15
|
# @return [:in_progress, Array] This could be either the `:in_progress`
|
15
16
|
# flag or a list of job statuses.
|
16
17
|
add_endpoint :copy_batch_check do |async_job_id|
|
17
|
-
perform_request :
|
18
|
+
perform_request async_job_id: async_job_id
|
18
19
|
end
|
19
20
|
end
|
20
21
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Files
|
2
3
|
class CopyReferenceGet < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path =
|
5
|
+
Path = '/2/files/copy_reference/get'
|
5
6
|
ResultType = DropboxApi::Results::GetCopyReferenceResult
|
6
7
|
ErrorType = DropboxApi::Errors::GetCopyReferenceError
|
7
8
|
|
@@ -14,7 +15,7 @@ module DropboxApi::Endpoints::Files
|
|
14
15
|
# @return [DropboxApi::Results::GetCopyReferenceResult]
|
15
16
|
add_endpoint :copy_reference_get do |path|
|
16
17
|
perform_request({
|
17
|
-
:
|
18
|
+
path: path
|
18
19
|
})
|
19
20
|
end
|
20
21
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module DropboxApi::Endpoints::Files
|
2
3
|
class CopyReferenceSave < DropboxApi::Endpoints::Rpc
|
3
4
|
Method = :post
|
4
|
-
Path =
|
5
|
+
Path = '/2/files/copy_reference/save'
|
5
6
|
ResultType = DropboxApi::Results::SaveCopyReferenceResult
|
6
7
|
ErrorType = DropboxApi::Errors::SaveCopyReferenceError
|
7
8
|
|
@@ -14,8 +15,8 @@ module DropboxApi::Endpoints::Files
|
|
14
15
|
# @return [DropboxApi::Results::SaveCopyReferenceResult]
|
15
16
|
add_endpoint :copy_reference_save do |copy_reference, path|
|
16
17
|
perform_request({
|
17
|
-
:
|
18
|
-
:
|
18
|
+
copy_reference: copy_reference,
|
19
|
+
path: path
|
19
20
|
})
|
20
21
|
end
|
21
22
|
end
|