carrierwave-google-storage 0.9.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.travis.yml +13 -5
- data/carrierwave-google-storage.gemspec +7 -6
- data/gemfiles/carrierwave-1.x.gemfile +5 -0
- data/gemfiles/carrierwave-2.x.gemfile +5 -0
- data/lib/carrierwave/google/storage/version.rb +1 -1
- data/lib/carrierwave/storage/gcloud.rb +5 -1
- data/lib/carrierwave/storage/gcloud_file.rb +18 -12
- metadata +28 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a7375cd461161a5f3aea9438f14448b9097f741ca93d9bb606f375400ea5381b
|
4
|
+
data.tar.gz: f505a468103a3f577cee08611c09e793dba64cd84ae31f62effe092efb617b18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3f082da497a1aa1dc77e965988edbe6aa29efeacc98796c01a9213c9d9d8b920373ff465209f547c9efc562174ae888ad2316b80f3e9045cf6ea6e6f53985f3
|
7
|
+
data.tar.gz: 7a8339aea3d972034ff452f228c4c71750f3aab72bfce889dcf4862ecd1a361fa8a54352d147bf0b299fa87dc8ffc1e13bc46899b8f75c0acdd178304e94272d
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,13 +1,21 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
- 2.
|
5
|
-
- 2.
|
6
|
-
- 2.
|
7
|
-
- 2.
|
4
|
+
- 2.2.9
|
5
|
+
- 2.3.8
|
6
|
+
- 2.4.10
|
7
|
+
- 2.5.8
|
8
|
+
- 2.6.6
|
9
|
+
- 2.7.2
|
10
|
+
gemfile:
|
11
|
+
- gemfiles/carrierwave-2.x.gemfile
|
12
|
+
matrix:
|
13
|
+
include:
|
14
|
+
- rvm: 2.1.10
|
15
|
+
gemfile: gemfiles/carrierwave-1.x.gemfile
|
8
16
|
before_install:
|
9
17
|
- openssl aes-256-cbc -k "$password" -in .gcp-keyfile.json.enc -out .gcp-keyfile.json -d
|
10
|
-
- gem install bundler -v 1.
|
18
|
+
- gem install bundler -v 1.17.3
|
11
19
|
env:
|
12
20
|
global:
|
13
21
|
- secure: UDesPsjI5LZhaQCI1C5avo3+9vP3snnT1X8FXNzYIG6dABsXhvy8H2Kfia5uQXFty1LuXhORm/xSfGTMx8ybZI0Gc7sGHzP7s6gZ8m17TlzhdxTnKJwqqCf+8/FVlxWbrHeRkA5fVEnCRJw1IU7E4ys9/ExbJBPLjm5E0WSwDQoYicJvkEd4hSvNxnydm2NdA6k1D0Hy8/gTIgXVjQFWbXnh1btiVXKsyN9PkTvvPbz6Q8XY6SpS8W1V9vwBUllJduzO3uVLNjW3LgTFL2g4qUX4ilCy9NaLUniGXye6NpiRy+//gO+N6R83S5o783ZO//2K9kC87a5ZLcy4E1Oc7jMT5AmN1vsKlztsJqw+iDDVXZhGN1w56dDOt+xpx5jWNo03LKzTjpUCCfX7hWZeDbftZfqKMfwQFFD9xz05EvKu8ZpnPCKlveh3wFaHYhGsF469nZb8K7p1TUWRsVl4YjxEro6KaMcNvSOucO8jABqzNTEtrAryAM9lrUBLzpIa/YtxISeOdKNimotxRXiHe2T4x9/PrxQE6DX+UNxxhYUogYxd0qR5E6NumUHhlCEIuaRmoUXV6RXML16/FAolMl6pdszsLhj3SGiX9PXws4lsTNk5M32sTVCqk/lmsilMdyApMtX017ELy6Q6Eiv+xcIUciaAWo3md+z4DN4rnuw=
|
@@ -10,8 +10,8 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.authors = ['Jasdeep Singh']
|
11
11
|
spec.email = ['narang.jasdeep@gmail.com']
|
12
12
|
|
13
|
-
spec.summary = %q(Use gcloud for Google Cloud Storage support in
|
14
|
-
spec.description = %q(A slimmer alternative to using Fog for Google Cloud Storage support in
|
13
|
+
spec.summary = %q(Use gcloud for Google Cloud Storage support in Carrierwave.)
|
14
|
+
spec.description = %q(A slimmer alternative to using Fog for Google Cloud Storage support in Carrierwave. Heavily inspired from carrierwave-aws)
|
15
15
|
spec.homepage = 'https://github.com/metaware/carrierwave-google-storage'
|
16
16
|
spec.license = 'MIT'
|
17
17
|
|
@@ -20,17 +20,18 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_dependency 'carrierwave', '
|
24
|
-
spec.add_dependency 'google-cloud-storage', '~> 1.
|
23
|
+
spec.add_dependency 'carrierwave', ['>= 1.3.2', '< 3']
|
24
|
+
spec.add_dependency 'google-cloud-storage', '~> 1.18.2'
|
25
|
+
|
25
26
|
if RUBY_VERSION >= '2.2.2'
|
26
27
|
spec.add_dependency 'activemodel', '>= 3.2.0'
|
27
28
|
else
|
28
29
|
spec.add_dependency 'activemodel', '~> 4.2.7'
|
29
30
|
end
|
30
31
|
|
31
|
-
spec.add_development_dependency 'bundler', '
|
32
|
+
spec.add_development_dependency 'bundler', '>= 1.12'
|
32
33
|
spec.add_development_dependency 'pry', '~> 0.10.3'
|
33
|
-
spec.add_development_dependency 'rake', '
|
34
|
+
spec.add_development_dependency 'rake', '>= 12.3.3'
|
34
35
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
35
36
|
spec.add_development_dependency 'uri-query_params', '~> 0.7.1'
|
36
37
|
end
|
@@ -31,6 +31,10 @@ module CarrierWave
|
|
31
31
|
GcloudFile.new(uploader, connection, uploader.cache_path(identifier))
|
32
32
|
end
|
33
33
|
|
34
|
+
def delete_dir!(path)
|
35
|
+
# do nothing, because there's no such things as 'empty directory'
|
36
|
+
end
|
37
|
+
|
34
38
|
def clean_cache!(_seconds)
|
35
39
|
raise 'use Object Lifecycle Management to clean the cache'
|
36
40
|
end
|
@@ -42,7 +46,7 @@ module CarrierWave
|
|
42
46
|
conn_cache[credentials] ||= ::Google::Cloud.new(
|
43
47
|
credentials[:gcloud_project] || ENV['GCLOUD_PROJECT'],
|
44
48
|
credentials[:gcloud_keyfile] || ENV['GCLOUD_KEYFILE']
|
45
|
-
).storage
|
49
|
+
).storage
|
46
50
|
end
|
47
51
|
end
|
48
52
|
|
@@ -8,7 +8,7 @@ module CarrierWave
|
|
8
8
|
attr_writer :file
|
9
9
|
attr_accessor :uploader, :connection, :path, :gcloud_options, :file_exists
|
10
10
|
|
11
|
-
delegate :content_disposition, :content_type, :size, to: :file
|
11
|
+
delegate :content_disposition, :content_type, :size, to: :file, allow_nil: true
|
12
12
|
|
13
13
|
def initialize(uploader, connection, path)
|
14
14
|
@uploader = uploader
|
@@ -58,23 +58,29 @@ module CarrierWave
|
|
58
58
|
end
|
59
59
|
|
60
60
|
def store(new_file)
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
61
|
+
if new_file.is_a?(self.class)
|
62
|
+
new_file.copy_to(path)
|
63
|
+
else
|
64
|
+
@file = bucket.create_file(
|
65
|
+
new_file.path,
|
66
|
+
path,
|
67
|
+
acl: uploader.gcloud_bucket_is_public ? 'publicRead' : nil,
|
68
|
+
content_type: new_file.content_type,
|
69
|
+
content_disposition: uploader.gcloud_content_disposition
|
70
|
+
)
|
71
|
+
end
|
69
72
|
self
|
70
73
|
end
|
71
74
|
|
72
75
|
def copy_to(new_path)
|
73
|
-
file.copy(
|
76
|
+
file.copy(
|
77
|
+
new_path,
|
78
|
+
acl: uploader.gcloud_bucket_is_public ? 'publicRead' : nil
|
79
|
+
)
|
74
80
|
end
|
75
81
|
|
76
82
|
def url(options = {})
|
77
|
-
uploader.gcloud_bucket_is_public ? public_url : authenticated_url
|
83
|
+
uploader.gcloud_bucket_is_public ? public_url : authenticated_url(options)
|
78
84
|
end
|
79
85
|
|
80
86
|
def authenticated_url(options = {})
|
@@ -92,7 +98,7 @@ module CarrierWave
|
|
92
98
|
private
|
93
99
|
|
94
100
|
def bucket
|
95
|
-
connection
|
101
|
+
@bucket ||= connection.bucket(uploader.gcloud_bucket, skip_lookup: true)
|
96
102
|
end
|
97
103
|
end
|
98
104
|
end
|
metadata
CHANGED
@@ -1,43 +1,49 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: carrierwave-google-storage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jasdeep Singh
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: carrierwave
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.2
|
19
|
+
version: 1.3.2
|
20
|
+
- - "<"
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '3'
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - ">="
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 1.3.2
|
30
|
+
- - "<"
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: '3'
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: google-cloud-storage
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
30
36
|
requirements:
|
31
37
|
- - "~>"
|
32
38
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
39
|
+
version: 1.18.2
|
34
40
|
type: :runtime
|
35
41
|
prerelease: false
|
36
42
|
version_requirements: !ruby/object:Gem::Requirement
|
37
43
|
requirements:
|
38
44
|
- - "~>"
|
39
45
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
46
|
+
version: 1.18.2
|
41
47
|
- !ruby/object:Gem::Dependency
|
42
48
|
name: activemodel
|
43
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -56,14 +62,14 @@ dependencies:
|
|
56
62
|
name: bundler
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
|
-
- - "
|
65
|
+
- - ">="
|
60
66
|
- !ruby/object:Gem::Version
|
61
67
|
version: '1.12'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
|
-
- - "
|
72
|
+
- - ">="
|
67
73
|
- !ruby/object:Gem::Version
|
68
74
|
version: '1.12'
|
69
75
|
- !ruby/object:Gem::Dependency
|
@@ -84,16 +90,16 @@ dependencies:
|
|
84
90
|
name: rake
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
86
92
|
requirements:
|
87
|
-
- - "
|
93
|
+
- - ">="
|
88
94
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
95
|
+
version: 12.3.3
|
90
96
|
type: :development
|
91
97
|
prerelease: false
|
92
98
|
version_requirements: !ruby/object:Gem::Requirement
|
93
99
|
requirements:
|
94
|
-
- - "
|
100
|
+
- - ">="
|
95
101
|
- !ruby/object:Gem::Version
|
96
|
-
version:
|
102
|
+
version: 12.3.3
|
97
103
|
- !ruby/object:Gem::Dependency
|
98
104
|
name: rspec
|
99
105
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,7 +129,7 @@ dependencies:
|
|
123
129
|
- !ruby/object:Gem::Version
|
124
130
|
version: 0.7.1
|
125
131
|
description: A slimmer alternative to using Fog for Google Cloud Storage support in
|
126
|
-
|
132
|
+
Carrierwave. Heavily inspired from carrierwave-aws
|
127
133
|
email:
|
128
134
|
- narang.jasdeep@gmail.com
|
129
135
|
executables: []
|
@@ -143,6 +149,8 @@ files:
|
|
143
149
|
- bin/console
|
144
150
|
- bin/setup
|
145
151
|
- carrierwave-google-storage.gemspec
|
152
|
+
- gemfiles/carrierwave-1.x.gemfile
|
153
|
+
- gemfiles/carrierwave-2.x.gemfile
|
146
154
|
- lib/carrierwave-google-storage.rb
|
147
155
|
- lib/carrierwave/google/storage/version.rb
|
148
156
|
- lib/carrierwave/storage/gcloud.rb
|
@@ -154,7 +162,7 @@ homepage: https://github.com/metaware/carrierwave-google-storage
|
|
154
162
|
licenses:
|
155
163
|
- MIT
|
156
164
|
metadata: {}
|
157
|
-
post_install_message:
|
165
|
+
post_install_message:
|
158
166
|
rdoc_options: []
|
159
167
|
require_paths:
|
160
168
|
- lib
|
@@ -169,9 +177,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
177
|
- !ruby/object:Gem::Version
|
170
178
|
version: '0'
|
171
179
|
requirements: []
|
172
|
-
|
173
|
-
|
174
|
-
signing_key:
|
180
|
+
rubygems_version: 3.1.4
|
181
|
+
signing_key:
|
175
182
|
specification_version: 4
|
176
|
-
summary: Use gcloud for Google Cloud Storage support in
|
183
|
+
summary: Use gcloud for Google Cloud Storage support in Carrierwave.
|
177
184
|
test_files: []
|