dropbox_api 0.1.8 → 0.1.9
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.
- 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
|