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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e85899d399f921b09ff9910a04bd645752deadd26f70618bb4ed2795595715af
4
- data.tar.gz: a7d19d18c3d6c03db0a739c84333f4fcf6b54ad13b3a408db4ba65bd11be5610
3
+ metadata.gz: a7375cd461161a5f3aea9438f14448b9097f741ca93d9bb606f375400ea5381b
4
+ data.tar.gz: f505a468103a3f577cee08611c09e793dba64cd84ae31f62effe092efb617b18
5
5
  SHA512:
6
- metadata.gz: c448c994c698c77d37f2251c6ebe16e04be7481c33b22094ae42b7374530d4983872962d46f1c0b54ee7105dd0550579918bde90eaf801c51bd2f91b5f44cbfe
7
- data.tar.gz: f8f22759eac32d1caac9698d3b9ee98a108a7e5cae46b1af7062118b361913a194315196b43f019f9c0b37c188a1f51687227e40ca6a316c80ac64dd315776c6
6
+ metadata.gz: f3f082da497a1aa1dc77e965988edbe6aa29efeacc98796c01a9213c9d9d8b920373ff465209f547c9efc562174ae888ad2316b80f3e9045cf6ea6e6f53985f3
7
+ data.tar.gz: 7a8339aea3d972034ff452f228c4c71750f3aab72bfce889dcf4862ecd1a361fa8a54352d147bf0b299fa87dc8ffc1e13bc46899b8f75c0acdd178304e94272d
data/.gitignore CHANGED
@@ -9,6 +9,7 @@
9
9
  /_yardoc/
10
10
  /coverage/
11
11
  /doc/
12
+ /gemfiles/*.lock
12
13
  /pkg/
13
14
  /spec/reports/
14
15
  /tmp/
data/.travis.yml CHANGED
@@ -1,13 +1,21 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.1.0
5
- - 2.2.0
6
- - 2.3.0
7
- - 2.4.1
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.12.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 CarrierWave.)
14
- spec.description = %q(A slimmer alternative to using Fog for Google Cloud Storage support in CarrierWave. Heavily inspired from carrierwave-aws)
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', '~> 1.2.0'
24
- spec.add_dependency 'google-cloud-storage', '~> 1.10'
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', '~> 1.12'
32
+ spec.add_development_dependency 'bundler', '>= 1.12'
32
33
  spec.add_development_dependency 'pry', '~> 0.10.3'
33
- spec.add_development_dependency 'rake', '~> 10.0'
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
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'carrierwave', '~> 1.0'
4
+
5
+ gemspec path: '../'
@@ -0,0 +1,5 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'carrierwave', '~> 2.0'
4
+
5
+ gemspec path: '../'
@@ -3,7 +3,7 @@
3
3
  module Carrierwave
4
4
  module Google
5
5
  module Storage
6
- VERSION = '0.9.0'.freeze
6
+ VERSION = '1.0.0'.freeze
7
7
  end
8
8
  end
9
9
  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.bucket(uploader.gcloud_bucket, skip_lookup: true)
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
- new_file_path = uploader.filename ? uploader.filename : new_file.filename
62
- bucket_file = bucket.create_file(
63
- new_file.path,
64
- path,
65
- content_type: new_file.content_type,
66
- content_disposition: uploader.gcloud_content_disposition
67
- )
68
- bucket_file.acl.public! if uploader.gcloud_bucket_is_public
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("#{uploader.store_dir}/#{new_path}")
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.9.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: 2018-09-19 00:00:00.000000000 Z
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.0
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: 1.2.0
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: '1.10'
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: '1.10'
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: '10.0'
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: '10.0'
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
- CarrierWave. Heavily inspired from carrierwave-aws
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
- rubyforge_project:
173
- rubygems_version: 2.7.7
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 CarrierWave.
183
+ summary: Use gcloud for Google Cloud Storage support in Carrierwave.
177
184
  test_files: []