dropbox_api 0.1.8 → 0.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/TODO.md +3 -47
- data/lib/dropbox_api/endpoints/content_upload.rb +5 -0
- data/lib/dropbox_api/metadata/dimensions.rb +6 -0
- data/lib/dropbox_api/metadata/field.rb +2 -0
- data/lib/dropbox_api/metadata/file.rb +1 -0
- data/lib/dropbox_api/metadata/location.rb +6 -0
- data/lib/dropbox_api/metadata/media_info.rb +40 -0
- data/lib/dropbox_api/metadata/photo_metadata.rb +20 -0
- data/lib/dropbox_api/metadata/video_metadata.rb +22 -0
- data/lib/dropbox_api/version.rb +1 -1
- data/lib/dropbox_api.rb +5 -0
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a9b3e0abcd48bf5bc5749072c91438d30958141
|
4
|
+
data.tar.gz: 92d7370854daa2516b81956e72d855ab5014f59d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a9c558222a39bff0a3a54e22d3d26b27f8b93b7fe64798b0ca07f44495fa9a834e4d88ee88051bacebf688a73326fb4d3f9a848b31144b461e3ebcea81949018
|
7
|
+
data.tar.gz: 4d04b472af2aa318f5538d853c71a02e4fc5a1be844ae37c7da4d614ba5d1235c54c0643a18ebdeea623a98274a1d9fbb5b7f00c9d962d83fb4b454ab875895c
|
data/TODO.md
CHANGED
@@ -1,55 +1,11 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
- Rebuild spec fixtures for `list_folder`.
|
4
|
-
- Add documentation on how to rebuild spec fixtures.
|
5
|
-
- Chunked downloads, issue #8.
|
6
|
-
- Chunked uploads, issue #18.
|
7
|
-
|
8
|
-
# Upcoming
|
9
|
-
|
10
|
-
TOKEN: f0QNQhb3tLAAAAAAAAAACtK5eS9DgRPDzDSLcrIrkbY07buAw-sMRP9tjZeoOP08
|
11
|
-
Old token: VofXAX8DO1sAAAAAAAAEEyqrmzbYmFVaDQKj48yVUfhyhfOomXiG8emqP1xQGRnJ
|
12
|
-
|
13
|
-
- Create website with comparison with other libraries.
|
14
|
-
- Implement PermissionDeniedReason
|
15
|
-
- list_shared_folders
|
16
|
-
- continue_list_shared_folders
|
17
|
-
- share_folder
|
18
|
-
- add_folder_member
|
19
|
-
- mount_folder
|
20
|
-
- list_folder_members
|
21
|
-
- relinquish_folder_membership
|
22
|
-
- transfer_folder
|
23
|
-
- get_file_metadata
|
24
|
-
- get_folder_metadata
|
25
|
-
- get_shared_link_file
|
26
|
-
- get_shared_link_metadata
|
27
|
-
|
28
|
-
# Mid-term goals
|
1
|
+
# Short term goals
|
29
2
|
|
30
3
|
- Remove dependency on faraday.
|
31
4
|
- Complete full [API coverage](api_coverage.md).
|
32
5
|
|
33
6
|
# Further on
|
34
7
|
|
8
|
+
- Improve the API reference page, help here:
|
9
|
+
http://gnuu.org/2009/11/18/customizing-yard-templates/
|
35
10
|
- Supporting streams would be great.
|
36
11
|
- Add a layer to handle pagination, use `Enumerable`.
|
37
|
-
|
38
|
-
# Release guide
|
39
|
-
|
40
|
-
Previous checks:
|
41
|
-
- CI passing?
|
42
|
-
|
43
|
-
Release process:
|
44
|
-
1. Bump version in `version.rb`.
|
45
|
-
2. Create tag and write release notes in Github.com.
|
46
|
-
3. `git fetch`
|
47
|
-
4. `gem build dropbox_api.gemspec`
|
48
|
-
5. `gem push dropbox_api-version.gem`
|
49
|
-
|
50
|
-
## Publish doc
|
51
|
-
|
52
|
-
1. `yardoc`
|
53
|
-
2. Change dir to dropbox_api_doc, where branch gh-pages is checked out.
|
54
|
-
3. Replace files with the updated ones.
|
55
|
-
4. `git commit` & `git push origin gh-pages`.
|
@@ -14,6 +14,11 @@ module DropboxApi::Endpoints
|
|
14
14
|
'Dropbox-API-Arg' => JSON.dump(params),
|
15
15
|
'Content-Type' => 'application/octet-stream'
|
16
16
|
}
|
17
|
+
if body.respond_to?(:length)
|
18
|
+
headers['Content-Length'] = body.length.to_s
|
19
|
+
elsif body.respond_to?(:stat)
|
20
|
+
headers['Content-Length'] = body.stat.size.to_s
|
21
|
+
end
|
17
22
|
|
18
23
|
return body, headers
|
19
24
|
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module DropboxApi::Metadata
|
2
|
+
# Example of a serialized {MediaInfo} object:
|
3
|
+
# {
|
4
|
+
# ".tag": "metadata",
|
5
|
+
# "metadata": {
|
6
|
+
# ".tag": "video",
|
7
|
+
# "dimensions": {
|
8
|
+
# "height": 1500,
|
9
|
+
# "width": 1500
|
10
|
+
# },
|
11
|
+
# "location": {
|
12
|
+
# "latitude": 10.123456,
|
13
|
+
# "longitude": 5.123456
|
14
|
+
# }
|
15
|
+
# "time_taken": "2016-09-04T17:00:27Z",
|
16
|
+
# "duration": 6000
|
17
|
+
# }
|
18
|
+
# }
|
19
|
+
class MediaInfo < Base
|
20
|
+
class << self
|
21
|
+
def new(data)
|
22
|
+
tag = data['metadata']['.tag']
|
23
|
+
class_for(tag.to_sym).new(data['metadata'])
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def class_for(tag)
|
29
|
+
case tag
|
30
|
+
when :photo
|
31
|
+
DropboxApi::Metadata::PhotoMetadata
|
32
|
+
when :video
|
33
|
+
DropboxApi::Metadata::VideoMetadata
|
34
|
+
else
|
35
|
+
raise ArgumentError, "Unable to build individual result with `#{tag}`"
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module DropboxApi::Metadata
|
2
|
+
# Example of a serialized {PhotoMetadata} object:
|
3
|
+
# {
|
4
|
+
# ".tag": "photo",
|
5
|
+
# "dimensions": {
|
6
|
+
# "height": 1500,
|
7
|
+
# "width": 1500
|
8
|
+
# },
|
9
|
+
# "location": {
|
10
|
+
# "latitude": 10.123456,
|
11
|
+
# "longitude": 5.123456
|
12
|
+
# }
|
13
|
+
# "time_taken": "2016-09-04T17:00:27Z"
|
14
|
+
# }
|
15
|
+
class PhotoMetadata < Base
|
16
|
+
field :dimensions, DropboxApi::Metadata::Dimensions, :optional
|
17
|
+
field :location, DropboxApi::Metadata::Location, :optional
|
18
|
+
field :time_taken, Time, :optional
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module DropboxApi::Metadata
|
2
|
+
# Example of a serialized {MediaInfo} object:
|
3
|
+
# {
|
4
|
+
# ".tag": "video",
|
5
|
+
# "dimensions": {
|
6
|
+
# "height": 1500,
|
7
|
+
# "width": 1500
|
8
|
+
# },
|
9
|
+
# "location": {
|
10
|
+
# "latitude": 10.123456,
|
11
|
+
# "longitude": 5.123456
|
12
|
+
# }
|
13
|
+
# "time_taken": "2016-09-04T17:00:27Z",
|
14
|
+
# "duration": 6000
|
15
|
+
# }
|
16
|
+
class VideoMetadata < Base
|
17
|
+
field :dimensions, DropboxApi::Metadata::Dimensions, :optional
|
18
|
+
field :location, DropboxApi::Metadata::Location, :optional
|
19
|
+
field :time_taken, Time, :optional
|
20
|
+
field :duration, Integer, :optional
|
21
|
+
end
|
22
|
+
end
|
data/lib/dropbox_api/version.rb
CHANGED
data/lib/dropbox_api.rb
CHANGED
@@ -15,6 +15,11 @@ require 'dropbox_api/metadata/symbol'
|
|
15
15
|
require 'dropbox_api/metadata/access_level'
|
16
16
|
require 'dropbox_api/metadata/member_action'
|
17
17
|
|
18
|
+
require 'dropbox_api/metadata/dimensions.rb'
|
19
|
+
require 'dropbox_api/metadata/location.rb'
|
20
|
+
require 'dropbox_api/metadata/photo_metadata.rb'
|
21
|
+
require 'dropbox_api/metadata/video_metadata.rb'
|
22
|
+
require 'dropbox_api/metadata/media_info.rb'
|
18
23
|
require 'dropbox_api/metadata/member'
|
19
24
|
require 'dropbox_api/metadata/add_member'
|
20
25
|
require 'dropbox_api/metadata/name'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dropbox_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jesús Burgos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -229,6 +229,7 @@ files:
|
|
229
229
|
- lib/dropbox_api/metadata/basic_account.rb
|
230
230
|
- lib/dropbox_api/metadata/commit_info.rb
|
231
231
|
- lib/dropbox_api/metadata/deleted.rb
|
232
|
+
- lib/dropbox_api/metadata/dimensions.rb
|
232
233
|
- lib/dropbox_api/metadata/field.rb
|
233
234
|
- lib/dropbox_api/metadata/file.rb
|
234
235
|
- lib/dropbox_api/metadata/file_link.rb
|
@@ -237,6 +238,8 @@ files:
|
|
237
238
|
- lib/dropbox_api/metadata/folder_link.rb
|
238
239
|
- lib/dropbox_api/metadata/folder_sharing_info.rb
|
239
240
|
- lib/dropbox_api/metadata/link_permissions.rb
|
241
|
+
- lib/dropbox_api/metadata/location.rb
|
242
|
+
- lib/dropbox_api/metadata/media_info.rb
|
240
243
|
- lib/dropbox_api/metadata/member.rb
|
241
244
|
- lib/dropbox_api/metadata/member_action.rb
|
242
245
|
- lib/dropbox_api/metadata/member_action_list.rb
|
@@ -244,6 +247,7 @@ files:
|
|
244
247
|
- lib/dropbox_api/metadata/member_permission_list.rb
|
245
248
|
- lib/dropbox_api/metadata/name.rb
|
246
249
|
- lib/dropbox_api/metadata/parent_folder_access_info.rb
|
250
|
+
- lib/dropbox_api/metadata/photo_metadata.rb
|
247
251
|
- lib/dropbox_api/metadata/resource.rb
|
248
252
|
- lib/dropbox_api/metadata/shared_folder.rb
|
249
253
|
- lib/dropbox_api/metadata/shared_folder_policy.rb
|
@@ -254,6 +258,7 @@ files:
|
|
254
258
|
- lib/dropbox_api/metadata/team.rb
|
255
259
|
- lib/dropbox_api/metadata/team_member_info.rb
|
256
260
|
- lib/dropbox_api/metadata/upload_session_cursor.rb
|
261
|
+
- lib/dropbox_api/metadata/video_metadata.rb
|
257
262
|
- lib/dropbox_api/metadata/write_mode.rb
|
258
263
|
- lib/dropbox_api/middleware/decode_result.rb
|
259
264
|
- lib/dropbox_api/result_builder.rb
|