shrine-uploadcare 0.2.0 → 0.3.0
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 +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.
|