shrine-uploadcare 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +1 -1
- data/lib/shrine/storage/uploadcare.rb +14 -14
- data/shrine-uploadcare.gemspec +5 -4
- metadata +24 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b790c469ff1fd523ce6c5306db9f842023e558ee96191f0c89a6e496a4ec69f6
|
4
|
+
data.tar.gz: 3e833ec39a78ecee3d6a866231df0d304dc70202a2cae29571066a5d35c22176
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d7072419a32a8155c6d505b4b4a5e902330718975fafa6cd6fd3dcd82a7b023d9a28ec91e5f0f0c7f89aa1be974e93e5c2408c009be2cf929d19e5f709eeb16
|
7
|
+
data.tar.gz: ca5d8898f474ee736795e0fb9482999f1df00a63b6a0d123e65b8b572f1fd768e0313523a1dc7f0671b1b7d46792f1df218f49aa714eaf05ac332e3d94f09239
|
data/README.md
CHANGED
@@ -125,7 +125,7 @@ $ rake test
|
|
125
125
|
[MIT](http://opensource.org/licenses/MIT)
|
126
126
|
|
127
127
|
[Uploadcare]: https://uploadcare.com/
|
128
|
-
[Shrine]: https://github.com/
|
128
|
+
[Shrine]: https://github.com/shrinerb/shrine
|
129
129
|
[HTML widget]: https://uploadcare.com/documentation/widget/
|
130
130
|
[demo app]: /demo
|
131
131
|
[Secure file uploads]: https://uploadcare.com/documentation/upload/#secure-uploads
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "shrine"
|
2
2
|
require "uploadcare"
|
3
|
-
require "down"
|
3
|
+
require "down/http"
|
4
4
|
require "uri"
|
5
5
|
require "digest"
|
6
6
|
|
@@ -23,8 +23,8 @@ class Shrine
|
|
23
23
|
update_id!(id, result)
|
24
24
|
end
|
25
25
|
|
26
|
-
def open(id)
|
27
|
-
Down.open(url(id))
|
26
|
+
def open(id, **options)
|
27
|
+
Down::Http.open(url(id), **options)
|
28
28
|
end
|
29
29
|
|
30
30
|
def exists?(id)
|
@@ -38,15 +38,6 @@ class Shrine
|
|
38
38
|
api_client.delete("/files/#{id}/storage/")
|
39
39
|
end
|
40
40
|
|
41
|
-
def multi_delete(ids)
|
42
|
-
ids, rest = ids.take(100), Array(ids[100..-1])
|
43
|
-
response = api_client.delete("/files/storage/") do |request|
|
44
|
-
request.body = ids.to_json
|
45
|
-
request.headers["Content-Type"] = "application/json"
|
46
|
-
end
|
47
|
-
multi_delete(rest) unless rest.empty?
|
48
|
-
end
|
49
|
-
|
50
41
|
def url(id, **options)
|
51
42
|
operations = options.to_a.map { |operation| operation.flatten.join("/") }
|
52
43
|
file(id, operations).cdn_url(true)
|
@@ -56,7 +47,7 @@ class Shrine
|
|
56
47
|
response = api_client.get("/files/", stored: true, limit: 1000)
|
57
48
|
loop do
|
58
49
|
uuids = response.body["results"].map { |result| result.fetch("uuid") }
|
59
|
-
|
50
|
+
batch_delete(uuids) unless uuids.empty?
|
60
51
|
return if (next_url = response.body["next"]).nil?
|
61
52
|
response = api_client.get(URI(next_url).request_uri)
|
62
53
|
end
|
@@ -76,7 +67,7 @@ class Shrine
|
|
76
67
|
|
77
68
|
url = upload_client.url_prefix + "base/"
|
78
69
|
|
79
|
-
|
70
|
+
{ method: :post, url: url, fields: fields }
|
80
71
|
end
|
81
72
|
|
82
73
|
protected
|
@@ -135,6 +126,15 @@ class Shrine
|
|
135
126
|
raise Error, "You must allow \"automatic file storing\" in project settings"
|
136
127
|
end
|
137
128
|
|
129
|
+
def batch_delete(ids)
|
130
|
+
ids.each_slice(100) do |ids_slice|
|
131
|
+
api_client.delete("/files/storage/") do |request|
|
132
|
+
request.body = ids_slice.to_json
|
133
|
+
request.headers["Content-Type"] = "application/json"
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
138
138
|
def api_client
|
139
139
|
uploadcare.instance_variable_get("@api_connection")
|
140
140
|
end
|
data/shrine-uploadcare.gemspec
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = "shrine-uploadcare"
|
3
|
-
gem.version = "0.
|
3
|
+
gem.version = "0.3.0"
|
4
4
|
|
5
5
|
gem.required_ruby_version = ">= 2.1"
|
6
6
|
|
7
7
|
gem.summary = "Provides Uploadcare storage for Shrine."
|
8
|
-
gem.homepage = "https://github.com/
|
8
|
+
gem.homepage = "https://github.com/shrinerb/shrine-uploadcare"
|
9
9
|
gem.authors = ["Janko Marohnić"]
|
10
10
|
gem.email = ["janko.marohnic@gmail.com"]
|
11
11
|
gem.license = "MIT"
|
@@ -13,9 +13,10 @@ Gem::Specification.new do |gem|
|
|
13
13
|
gem.files = Dir["README.md", "LICENSE.txt", "lib/**/*.rb", "*.gemspec"]
|
14
14
|
gem.require_path = "lib"
|
15
15
|
|
16
|
-
gem.add_dependency "shrine", "~> 2.
|
16
|
+
gem.add_dependency "shrine", "~> 2.11"
|
17
17
|
gem.add_dependency "uploadcare-ruby", "~> 1.0.5"
|
18
|
-
gem.add_dependency "down", "
|
18
|
+
gem.add_dependency "down", "~> 4.4"
|
19
|
+
gem.add_dependency "http", "~> 3.2"
|
19
20
|
|
20
21
|
gem.add_development_dependency "rake"
|
21
22
|
gem.add_development_dependency "minitest"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shrine-uploadcare
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Janko Marohnić
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shrine
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
19
|
+
version: '2.11'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
26
|
+
version: '2.11'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: uploadcare-ruby
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -42,16 +42,30 @@ dependencies:
|
|
42
42
|
name: down
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '4.4'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.4'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: http
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
53
67
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
68
|
+
version: '3.2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -105,7 +119,7 @@ files:
|
|
105
119
|
- README.md
|
106
120
|
- lib/shrine/storage/uploadcare.rb
|
107
121
|
- shrine-uploadcare.gemspec
|
108
|
-
homepage: https://github.com/
|
122
|
+
homepage: https://github.com/shrinerb/shrine-uploadcare
|
109
123
|
licenses:
|
110
124
|
- MIT
|
111
125
|
metadata: {}
|
@@ -125,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
139
|
version: '0'
|
126
140
|
requirements: []
|
127
141
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.6
|
142
|
+
rubygems_version: 2.7.6
|
129
143
|
signing_key:
|
130
144
|
specification_version: 4
|
131
145
|
summary: Provides Uploadcare storage for Shrine.
|