platformcraft-filespot 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/filespot.rb +3 -0
- data/lib/filespot/client/download.rb +6 -1
- data/lib/filespot/version.rb +1 -2
- data/spec/fixtures/download_tasks_id_error.json +15 -0
- data/spec/lib/client/download_spec.rb +10 -3
- metadata +21 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96b2cbbf8419db3f0ee1694b7954417441946387
|
4
|
+
data.tar.gz: fff0f63033cbb2c76197513fae2ad719ae9e2bbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7eb7cab06ddfa53433744dfaf29d1a48398f5d2effa1117650b3f208acfcb5fa9a580647776d0b1d5b04b016b7e044d7ba1913e18457079b907190b92c626408
|
7
|
+
data.tar.gz: 45cc86e0d83d084fe585172887d8f843dc9aeadd9cc80b3bd243e18a0f94b8ed790d06580010b9efa63d699a4f565fe71dd6dd77e04df49fb7300fdcbd314476
|
data/lib/filespot.rb
CHANGED
@@ -2,6 +2,8 @@ module Filespot
|
|
2
2
|
##
|
3
3
|
# Download module wraps methods with `/download` resource[http://doc.platformcraft.ru/filespot/api/#download]
|
4
4
|
module Download
|
5
|
+
STATUS_ERROR = 'Error'.freeze
|
6
|
+
|
5
7
|
# POST /download
|
6
8
|
# returns task_id
|
7
9
|
def post_download(url, path = nil)
|
@@ -27,7 +29,10 @@ module Filespot
|
|
27
29
|
def get_download_task(task_id)
|
28
30
|
res = Response.new(Request.get("/download_tasks/#{task_id}"))
|
29
31
|
return nil unless res.code == 200
|
30
|
-
Task.new(res.data['task'], res.data['files'])
|
32
|
+
task = Task.new(res.data['task'], res.data['files'])
|
33
|
+
|
34
|
+
raise(Filespot::TaskError, task.body) if task.status == STATUS_ERROR
|
35
|
+
task
|
31
36
|
end
|
32
37
|
|
33
38
|
# DELETE /download_tasks/{:task_id}
|
data/lib/filespot/version.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
{
|
2
|
+
"code": 200,
|
3
|
+
"files": null,
|
4
|
+
"status": "success",
|
5
|
+
"task": {
|
6
|
+
"id": "57011e2a534b44741fc67880",
|
7
|
+
"category": "download",
|
8
|
+
"title": "Download 0000001.1080.mp4",
|
9
|
+
"body": "Internal server error.",
|
10
|
+
"status": "Error",
|
11
|
+
"time_start": "25.01.2021T16:03:20",
|
12
|
+
"time_finish": "25.01.2021T16:04:20",
|
13
|
+
"lock": false
|
14
|
+
}
|
15
|
+
}
|
@@ -1,10 +1,12 @@
|
|
1
1
|
describe Filespot::Download do
|
2
2
|
describe 'Download' do
|
3
3
|
context '#get_download_task' do
|
4
|
+
let(:task_id) { '57011e2a534b44741fc67880' }
|
5
|
+
|
4
6
|
it 'task_id found' do
|
5
|
-
stub_get(
|
6
|
-
task = Filespot::Client.get_download_task(
|
7
|
-
expect(task.id).to eq
|
7
|
+
stub_get("/download_tasks/#{task_id}", 'download_tasks_id.json')
|
8
|
+
task = Filespot::Client.get_download_task(task_id)
|
9
|
+
expect(task.id).to eq task_id
|
8
10
|
end
|
9
11
|
|
10
12
|
it 'task_id not found' do
|
@@ -12,6 +14,11 @@ describe Filespot::Download do
|
|
12
14
|
task = Filespot::Client.get_download_task('nil')
|
13
15
|
expect(task).to eq nil
|
14
16
|
end
|
17
|
+
|
18
|
+
it 'raise error' do
|
19
|
+
stub_get("download_tasks/#{task_id}", 'download_tasks_id_error.json')
|
20
|
+
expect { Filespot::Client.get_download_task(task_id) }.to raise_error(Filespot::TaskError)
|
21
|
+
end
|
15
22
|
end
|
16
23
|
|
17
24
|
context '#get_download_tasks' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: platformcraft-filespot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- droff
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- platformcraft-filespot.gemspec
|
105
105
|
- spec/fixtures/download_tasks.json
|
106
106
|
- spec/fixtures/download_tasks_id.json
|
107
|
+
- spec/fixtures/download_tasks_id_error.json
|
107
108
|
- spec/fixtures/objects.json
|
108
109
|
- spec/fixtures/objects_id.json
|
109
110
|
- spec/fixtures/objects_post.json
|
@@ -116,7 +117,7 @@ files:
|
|
116
117
|
homepage: https://github.com/droff/platformcraft-filespot
|
117
118
|
licenses: []
|
118
119
|
metadata: {}
|
119
|
-
post_install_message:
|
120
|
+
post_install_message:
|
120
121
|
rdoc_options: []
|
121
122
|
require_paths:
|
122
123
|
- lib
|
@@ -131,9 +132,21 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
131
132
|
- !ruby/object:Gem::Version
|
132
133
|
version: '0'
|
133
134
|
requirements: []
|
134
|
-
rubyforge_project:
|
135
|
-
rubygems_version: 2.6.
|
136
|
-
signing_key:
|
135
|
+
rubyforge_project:
|
136
|
+
rubygems_version: 2.6.14
|
137
|
+
signing_key:
|
137
138
|
specification_version: 4
|
138
139
|
summary: http://doc.platformcraft.ru/filespot/api/
|
139
|
-
test_files:
|
140
|
+
test_files:
|
141
|
+
- spec/fixtures/download_tasks.json
|
142
|
+
- spec/fixtures/download_tasks_id.json
|
143
|
+
- spec/fixtures/download_tasks_id_error.json
|
144
|
+
- spec/fixtures/objects.json
|
145
|
+
- spec/fixtures/objects_id.json
|
146
|
+
- spec/fixtures/objects_post.json
|
147
|
+
- spec/lib/client/download_spec.rb
|
148
|
+
- spec/lib/client/objects_spec.rb
|
149
|
+
- spec/lib/client_spec.rb
|
150
|
+
- spec/lib/digest_spec.rb
|
151
|
+
- spec/lib/response_spec.rb
|
152
|
+
- spec/spec_helper.rb
|