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 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.