carrierwave-google-storage 0.9.0 → 1.0.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
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: []