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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 932c8cc50f2f783b0735723437ea598505b1a624
4
- data.tar.gz: 51abb3018f380ed7a57df34b5010067660237fed
2
+ SHA256:
3
+ metadata.gz: b790c469ff1fd523ce6c5306db9f842023e558ee96191f0c89a6e496a4ec69f6
4
+ data.tar.gz: 3e833ec39a78ecee3d6a866231df0d304dc70202a2cae29571066a5d35c22176
5
5
  SHA512:
6
- metadata.gz: 8e61afb62b4857dce6fe3996fa378c58ec5753c6305f43c68f137147f7d3f8e5403edf05b9554e1fbe066c66971ed56764bca1c8526c2dc1ca7729bb2e209c67
7
- data.tar.gz: 49651d852dfd7f83198182586f321c75fa8af9f9dbb10d6859c3b33e4a1ca500e242f10d70476633a1026bdcba66456a4c9313c31daacd17e5c8220b3bfe7536
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/janko-m/shrine
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
- multi_delete(uuids) unless uuids.empty?
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
- Struct.new(:url, :fields).new(url, fields)
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
@@ -1,11 +1,11 @@
1
1
  Gem::Specification.new do |gem|
2
2
  gem.name = "shrine-uploadcare"
3
- gem.version = "0.2.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/janko-m/shrine-uploadcare"
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.2"
16
+ gem.add_dependency "shrine", "~> 2.11"
17
17
  gem.add_dependency "uploadcare-ruby", "~> 1.0.5"
18
- gem.add_dependency "down", ">= 2.3.3"
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.2.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: 2017-06-21 00:00:00.000000000 Z
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.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.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: 2.3.3
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: 2.3.3
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/janko-m/shrine-uploadcare
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.11
142
+ rubygems_version: 2.7.6
129
143
  signing_key:
130
144
  specification_version: 4
131
145
  summary: Provides Uploadcare storage for Shrine.