asset_sync 2.13.1 → 2.14.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/CHANGELOG.md +10 -1
- data/lib/asset_sync/config.rb +10 -3
- data/lib/asset_sync/version.rb +1 -1
- data/spec/unit/google_spec.rb +22 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb865a74b05c9a16ce39367906e4b4e98e95aa1ee6513cce217c84bea8a832b6
|
4
|
+
data.tar.gz: 4684411bd7bddcf9daf4e6e9c1ba0b92fbf85cf67f2c9a42825b3c910e151c49
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f02951393035ba6db862849187d74f41d49529206d6d8a13b84ccca91b7d7c533fee6f0ea2440ea4b4e35ed72967d2d7489cfb6118c9fb8895e201964f146f64
|
7
|
+
data.tar.gz: 51e1bd03d2acd5a528fa5960ff5986c29303bb8ec03ce643cb57bce30958fc5d1fab981de815459fc9b16eab176a1717ad1873a9b4f08a7659b94f5ed8b7bd5d
|
data/CHANGELOG.md
CHANGED
@@ -18,6 +18,14 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
18
18
|
- Nothing
|
19
19
|
|
20
20
|
|
21
|
+
## [2.14.0] - 2020-03-31
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- Add support for fog option `google_json_key_string`
|
26
|
+
(https://github.com/AssetSync/asset_sync/pull/415)
|
27
|
+
|
28
|
+
|
21
29
|
## [2.13.1] - 2021-03-01
|
22
30
|
|
23
31
|
### Fixed
|
@@ -994,7 +1002,8 @@ Changes:
|
|
994
1002
|
* Merge branch 'sinatra'
|
995
1003
|
|
996
1004
|
|
997
|
-
[Unreleased]: https://github.com/AssetSync/asset_sync/compare/v2.
|
1005
|
+
[Unreleased]: https://github.com/AssetSync/asset_sync/compare/v2.14.0...HEAD
|
1006
|
+
[2.14.0]: https://github.com/AssetSync/asset_sync/compare/v2.13.1...v2.14.0
|
998
1007
|
[2.13.1]: https://github.com/AssetSync/asset_sync/compare/v2.13.0...v2.13.1
|
999
1008
|
[2.13.0]: https://github.com/AssetSync/asset_sync/compare/v2.12.1...v2.13.0
|
1000
1009
|
[2.12.1]: https://github.com/AssetSync/asset_sync/compare/v2.12.0...v2.12.1
|
data/lib/asset_sync/config.rb
CHANGED
@@ -49,6 +49,7 @@ module AssetSync
|
|
49
49
|
# Google Storage
|
50
50
|
attr_accessor :google_storage_secret_access_key, :google_storage_access_key_id # when using S3 interop
|
51
51
|
attr_accessor :google_json_key_location # when using service accounts
|
52
|
+
attr_accessor :google_json_key_string # when using service accounts
|
52
53
|
attr_accessor :google_project # when using service accounts
|
53
54
|
|
54
55
|
# Azure Blob with Fog::AzureRM
|
@@ -71,8 +72,12 @@ module AssetSync
|
|
71
72
|
validates :rackspace_api_key, :presence => true, :if => :rackspace?
|
72
73
|
validates :google_storage_secret_access_key, :presence => true, :if => :google_interop?
|
73
74
|
validates :google_storage_access_key_id, :presence => true, :if => :google_interop?
|
74
|
-
validates :google_json_key_location, :presence => true, :if => :google_service_account?
|
75
75
|
validates :google_project, :presence => true, :if => :google_service_account?
|
76
|
+
validate(:if => :google_service_account?) do
|
77
|
+
unless google_json_key_location.present? || google_json_key_string.present?
|
78
|
+
errors.add(:base, 'must provide either google_json_key_location or google_json_key_string if using Google service account')
|
79
|
+
end
|
80
|
+
end
|
76
81
|
validates :concurrent_uploads, :inclusion => { :in => [true, false] }
|
77
82
|
|
78
83
|
def initialize
|
@@ -147,11 +152,11 @@ module AssetSync
|
|
147
152
|
end
|
148
153
|
|
149
154
|
def google_interop?
|
150
|
-
google? && google_json_key_location.nil?
|
155
|
+
google? && google_json_key_location.nil? && google_json_key_string.nil?
|
151
156
|
end
|
152
157
|
|
153
158
|
def google_service_account?
|
154
|
-
google? && google_json_key_location
|
159
|
+
google? && (google_json_key_location || google_json_key_string)
|
155
160
|
end
|
156
161
|
|
157
162
|
def azure_rm?
|
@@ -292,6 +297,8 @@ module AssetSync
|
|
292
297
|
elsif google?
|
293
298
|
if google_json_key_location
|
294
299
|
options.merge!({:google_json_key_location => google_json_key_location, :google_project => google_project})
|
300
|
+
elsif google_json_key_string
|
301
|
+
options.merge!({:google_json_key_string => google_json_key_string, :google_project => google_project})
|
295
302
|
else
|
296
303
|
options.merge!({
|
297
304
|
:google_storage_secret_access_key => google_storage_secret_access_key,
|
data/lib/asset_sync/version.rb
CHANGED
data/spec/unit/google_spec.rb
CHANGED
@@ -99,6 +99,28 @@ describe AssetSync do
|
|
99
99
|
end
|
100
100
|
end
|
101
101
|
|
102
|
+
describe "when using service account with JSON key string" do
|
103
|
+
before(:each) do
|
104
|
+
AssetSync.configure do |config|
|
105
|
+
config.google_json_key_string = 'a-google-json-key-string'
|
106
|
+
config.google_project = 'a-google-project-name'
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should configure google_json_key_string" do
|
111
|
+
expect(AssetSync.config.google_json_key_string).to eq("a-google-json-key-string")
|
112
|
+
end
|
113
|
+
|
114
|
+
it "should return the correct fog_options" do
|
115
|
+
expected_fog_options = { google_json_key_string: "a-google-json-key-string",
|
116
|
+
google_project: 'a-google-project-name',
|
117
|
+
provider: "Google"}
|
118
|
+
expect(AssetSync.config.fog_options).to eq(expected_fog_options)
|
119
|
+
end
|
120
|
+
it "should not require that google_storage_secret_access_key or access_key_id be set" do
|
121
|
+
expect(AssetSync.config.valid?).to eq(true)
|
122
|
+
end
|
123
|
+
end
|
102
124
|
end
|
103
125
|
|
104
126
|
describe 'from yml' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: asset_sync
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Hamilton
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2021-03-
|
14
|
+
date: 2021-03-31 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: fog-core
|
@@ -273,7 +273,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
273
|
- !ruby/object:Gem::Version
|
274
274
|
version: '0'
|
275
275
|
requirements: []
|
276
|
-
rubygems_version: 3.2.
|
276
|
+
rubygems_version: 3.2.15
|
277
277
|
signing_key:
|
278
278
|
specification_version: 4
|
279
279
|
summary: Synchronises Assets in a Rails 3 application and Amazon S3/Cloudfront and
|