shrine-google_cloud_storage 0.1.0 → 0.2.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 +4 -4
- data/README.md +2 -0
- data/lib/shrine/storage/google_cloud_storage.rb +8 -16
- data/shrine-google_cloud_storage.gemspec +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08d6183e134fdb573cb7a432c55489f17a59d05a'
|
4
|
+
data.tar.gz: 4c0604286ce8695f96509d6f332f5b6045c408c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa358fd9e4a7a53ba56da9612860eee38998f544858e3010103b492c6fa9ee1ebb8937e39e42e42572daf29aea0e8a9a1d799ac39ebdf5b31248536e07ba8f1d
|
7
|
+
data.tar.gz: 963493555038ef7918db7b129a1b5e837edb59212570ae936cc8fa78db4fd99fe9082d7395d87c47b9f6553297f976575523e3a82cbe5d5d4dcfecfa14ad7c0f
|
data/README.md
CHANGED
@@ -92,9 +92,7 @@ class Shrine
|
|
92
92
|
end
|
93
93
|
|
94
94
|
def clear!
|
95
|
-
|
96
|
-
|
97
|
-
storage_api.fetch_all do |token, s|
|
95
|
+
all_objects = storage_api.fetch_all do |token, s|
|
98
96
|
prefix = "#{@prefix}/" if @prefix
|
99
97
|
s.list_objects(
|
100
98
|
@bucket,
|
@@ -102,18 +100,9 @@ class Shrine
|
|
102
100
|
fields: "items/name",
|
103
101
|
page_token: token,
|
104
102
|
)
|
105
|
-
end.each do |object|
|
106
|
-
ids << object.name
|
107
|
-
|
108
|
-
if ids.size >= 100
|
109
|
-
# Batches are limited to 100, so we execute it and reset the ids
|
110
|
-
batch_delete(ids)
|
111
|
-
ids = []
|
112
|
-
end
|
113
103
|
end
|
114
104
|
|
115
|
-
|
116
|
-
batch_delete(ids) unless ids.empty?
|
105
|
+
batch_delete(all_objects.lazy.map(&:name))
|
117
106
|
end
|
118
107
|
|
119
108
|
def presign(id, **options)
|
@@ -152,9 +141,12 @@ class Shrine
|
|
152
141
|
end
|
153
142
|
|
154
143
|
def batch_delete(object_names)
|
155
|
-
|
156
|
-
|
157
|
-
|
144
|
+
# Batches are limited to 100 operations
|
145
|
+
object_names.each_slice(100) do |names|
|
146
|
+
storage_api.batch do |storage|
|
147
|
+
names.each do |name|
|
148
|
+
storage.delete_object(@bucket, name)
|
149
|
+
end
|
158
150
|
end
|
159
151
|
end
|
160
152
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Gem::Specification.new do |gem|
|
2
2
|
gem.name = "shrine-google_cloud_storage"
|
3
|
-
gem.version = "0.
|
3
|
+
gem.version = "0.2.0"
|
4
4
|
|
5
5
|
gem.required_ruby_version = ">= 2.1"
|
6
6
|
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.require_path = "lib"
|
15
15
|
|
16
16
|
gem.add_dependency "shrine", "~> 2.0"
|
17
|
-
gem.add_dependency "google-api-client", "~> 0.
|
17
|
+
gem.add_dependency "google-api-client", "~> 0.13.0"
|
18
18
|
|
19
19
|
gem.add_development_dependency "rake"
|
20
20
|
gem.add_development_dependency "minitest"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shrine-google_cloud_storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Renaud Chaput
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: shrine
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.13.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.13.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|