asset_sync 2.5.0 → 2.6.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/.travis.yml +22 -25
- data/CHANGELOG.md +11 -2
- data/README.md +8 -5
- data/asset_sync.gemspec +1 -0
- data/lib/asset_sync/config.rb +22 -1
- data/lib/asset_sync/storage.rb +9 -2
- data/lib/asset_sync/version.rb +1 -1
- data/lib/generators/asset_sync/templates/asset_sync.rb +5 -0
- data/lib/generators/asset_sync/templates/asset_sync.yml +11 -0
- data/spec/spec_helper.rb +6 -0
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51ba6147cc39550e51d1eb1bc98420b53b0ca14fe96d90d34e7de36c8a9511b5
|
4
|
+
data.tar.gz: 701e692e95ed4c8ad41a8a5d14e7356ee8c013221e675d7396a8b07816f7a226
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f03b66ce2292d21a3e1a514307a3bf737c0ea856b46ee6e36aef40b93a2604b544e708f97f7b1e9fbfa81483545929cfb9e7714c4bf4172e6311e22f4cc7ffe2
|
7
|
+
data.tar.gz: e228c684a414b1a9859ea8df91f76b1b6c5ad4234863b46307dd76b705aa8a71f18cba5ab8c959a33ac089ca9d5c355dc26391bb16441a8c802fc0f44f97c087
|
data/.travis.yml
CHANGED
@@ -1,14 +1,23 @@
|
|
1
|
+
# Send builds to container-based infrastructure
|
2
|
+
# http://docs.travis-ci.com/user/workers/container-based-infrastructure/
|
3
|
+
sudo: false
|
1
4
|
language: ruby
|
5
|
+
cache:
|
6
|
+
bundler: true
|
2
7
|
rvm:
|
3
|
-
-
|
4
|
-
-
|
5
|
-
-
|
6
|
-
-
|
8
|
+
- 2.2
|
9
|
+
- 2.3
|
10
|
+
- 2.4
|
11
|
+
- 2.5
|
12
|
+
- 2.6
|
7
13
|
- ruby-head
|
14
|
+
- jruby
|
8
15
|
- jruby-head
|
9
16
|
gemfile:
|
10
|
-
- gemfiles/
|
11
|
-
- gemfiles/
|
17
|
+
- gemfiles/rails_4_2.gemfile
|
18
|
+
- gemfiles/rails_5_0.gemfile
|
19
|
+
- gemfiles/rails_5_1.gemfile
|
20
|
+
- gemfiles/rails_5_2.gemfile
|
12
21
|
before_install:
|
13
22
|
- gem install bundler
|
14
23
|
env:
|
@@ -18,25 +27,13 @@ env:
|
|
18
27
|
- secure: "dy8Fqlg3b1ZMK1BY5z6NMQLbzAVd7GWVYY0MeCQALz76zRac0z8MyU8hkv6h\nozFry7DSdbGehGT9foOnkWTwzGzf1rzdd5cmWrUPk1wDTRgMM9SrwodPj1TU\nzsq2EFx0a79vADQN8JXkpLC1YD6kEb9aWkTxrIT9KBgw+J5H32o="
|
19
28
|
- secure: "Hmx7D7/p2LlA2ya/xBIz21s/8MLIQCjvfYB7RWBNlWk1PfqRLAz8wX6TUVWy\nfAFktMjLnpRLRYO7AgQS4jcfQ/k0HYK9IXzqXzeI00TNm0Vwp0TCXhawiOFT\nSvUMhs2/1vRfjN0HOJ75XlWRhJzV/G5rOMiafAZLsVzN/0iiB8g="
|
20
29
|
matrix:
|
21
|
-
|
22
|
-
- rvm: 1.9.3
|
23
|
-
gemfile: gemfiles/rails_4.0.gemfile
|
24
|
-
- rvm: jruby-19mode
|
25
|
-
gemfile: gemfiles/rails_4.0.gemfile
|
26
|
-
- rvm: rbx-2
|
27
|
-
gemfile: gemfiles/rails_4.0.gemfile
|
28
|
-
- rvm: 2.0.0
|
29
|
-
gemfile: gemfiles/rails_3.2.gemfile
|
30
|
-
- rvm: 2.0.0
|
31
|
-
gemfile: gemfiles/rails_4.0.gemfile
|
32
|
-
- rvm: 2.1.2
|
33
|
-
gemfile: gemfiles/rails_4.1.gemfile
|
34
|
-
- rvm: 2.0.0
|
35
|
-
gemfile: gemfiles/rails_4.1.gemfile
|
36
|
-
- rvm: 2.1.2
|
37
|
-
gemfile: gemfiles/rails_4.1.gemfile
|
30
|
+
fast_finish: true
|
38
31
|
allow_failures:
|
39
|
-
- rvm:
|
40
|
-
- rvm: rbx-2
|
32
|
+
- rvm: 2.6
|
41
33
|
- rvm: ruby-head
|
42
34
|
- rvm: jruby-head
|
35
|
+
notifications:
|
36
|
+
webhooks:
|
37
|
+
urls:
|
38
|
+
- https://www.travisbuddy.com/
|
39
|
+
on_success: never
|
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.6.0] - 2018-12-07
|
22
|
+
|
23
|
+
### Added
|
24
|
+
|
25
|
+
- Add option `fog_public`
|
26
|
+
(https://github.com/AssetSync/asset_sync/pull/377)
|
27
|
+
|
28
|
+
|
21
29
|
## [2.5.0] - 2018-10-25
|
22
30
|
|
23
31
|
### Added
|
@@ -27,7 +35,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
27
35
|
|
28
36
|
### Changed
|
29
37
|
|
30
|
-
- Start testing against rails 5.2, stop testing against rails 4.
|
38
|
+
- Start testing against rails 5.2, stop testing against rails 4.1
|
31
39
|
|
32
40
|
### Fixed
|
33
41
|
|
@@ -880,7 +888,8 @@ Changes:
|
|
880
888
|
* Merge branch 'sinatra'
|
881
889
|
|
882
890
|
|
883
|
-
[Unreleased]: https://github.com/AssetSync/asset_sync/compare/v2.
|
891
|
+
[Unreleased]: https://github.com/AssetSync/asset_sync/compare/v2.6.0...HEAD
|
892
|
+
[2.6.0]: https://github.com/AssetSync/asset_sync/compare/v2.5.0...v2.6.0
|
884
893
|
[2.5.0]: https://github.com/AssetSync/asset_sync/compare/v2.4.0...v2.5.0
|
885
894
|
[2.4.0]: https://github.com/AssetSync/asset_sync/compare/v2.3.0...v2.4.0
|
886
895
|
[2.3.0]: https://github.com/AssetSync/asset_sync/compare/v2.2.0...v2.3.0
|
data/README.md
CHANGED
@@ -1,9 +1,7 @@
|
|
1
1
|
|
2
2
|
[](http://badge.fury.io/rb/asset_sync)
|
3
|
-
[
|
3
|
+
[](http://travis-ci.org/AssetSync/asset_sync)
|
4
|
+
[](https://coveralls.io/r/AssetSync/asset_sync)
|
7
5
|
|
8
6
|
|
9
7
|
# Asset Sync
|
@@ -123,7 +121,7 @@ Additionally, if you depend on any configuration that is setup in your `initiali
|
|
123
121
|
|
124
122
|
**AssetSync** supports the following methods of configuration.
|
125
123
|
|
126
|
-
* [Built-in Initializer](https://github.com/
|
124
|
+
* [Built-in Initializer](https://github.com/AssetSync/asset_sync/blob/master/lib/asset_sync/engine.rb) (configured through environment variables)
|
127
125
|
* Rails Initializer
|
128
126
|
* A YAML config file
|
129
127
|
|
@@ -207,6 +205,11 @@ AssetSync.configure do |config|
|
|
207
205
|
# Increase upload performance by configuring your region
|
208
206
|
# config.fog_region = 'eu-west-1'
|
209
207
|
#
|
208
|
+
# Set `public` option when uploading file depending on value,
|
209
|
+
# Setting to "default" makes asset sync skip setting the option
|
210
|
+
# Possible values: true, false, "default" (default: true)
|
211
|
+
# config.fog_public = true
|
212
|
+
#
|
210
213
|
# Change AWS signature version. Default is 4
|
211
214
|
# config.aws_signature_version = 4
|
212
215
|
#
|
data/asset_sync.gemspec
CHANGED
data/lib/asset_sync/config.rb
CHANGED
@@ -32,6 +32,7 @@ module AssetSync
|
|
32
32
|
attr_accessor :fog_provider # Currently Supported ['AWS', 'Rackspace']
|
33
33
|
attr_accessor :fog_directory # e.g. 'the-bucket-name'
|
34
34
|
attr_accessor :fog_region # e.g. 'eu-west-1'
|
35
|
+
attr_reader :fog_public # e.g. true, false, "default"
|
35
36
|
|
36
37
|
# Amazon AWS
|
37
38
|
attr_accessor :aws_access_key_id, :aws_secret_access_key, :aws_reduced_redundancy, :aws_iam_roles, :aws_signature_version
|
@@ -63,6 +64,7 @@ module AssetSync
|
|
63
64
|
|
64
65
|
def initialize
|
65
66
|
self.fog_region = nil
|
67
|
+
self.fog_public = true
|
66
68
|
self.existing_remote_files = 'keep'
|
67
69
|
self.gzip_compression = false
|
68
70
|
self.manifest = false
|
@@ -163,6 +165,7 @@ module AssetSync
|
|
163
165
|
self.fog_host = yml["fog_host"]
|
164
166
|
self.fog_directory = yml["fog_directory"]
|
165
167
|
self.fog_region = yml["fog_region"]
|
168
|
+
self.fog_public = yml["fog_public"] if yml.has_key?("fog_public")
|
166
169
|
self.fog_path_style = yml["fog_path_style"]
|
167
170
|
self.fog_scheme = yml["fog_scheme"]
|
168
171
|
self.aws_access_key_id = yml["aws_access_key_id"]
|
@@ -249,7 +252,7 @@ module AssetSync
|
|
249
252
|
raise ArgumentError, "AssetSync Unknown provider: #{fog_provider} only AWS, Rackspace and Google are supported currently."
|
250
253
|
end
|
251
254
|
|
252
|
-
|
255
|
+
options
|
253
256
|
end
|
254
257
|
|
255
258
|
# @api
|
@@ -275,6 +278,10 @@ module AssetSync
|
|
275
278
|
@file_ext_to_mime_type_overrides ||= FileExtToMimeTypeOverrides.new
|
276
279
|
end
|
277
280
|
|
281
|
+
def fog_public=(new_val)
|
282
|
+
@fog_public = FogPublicValue.new(new_val)
|
283
|
+
end
|
284
|
+
|
278
285
|
private
|
279
286
|
|
280
287
|
# This is a proc to get additional local files paths
|
@@ -320,7 +327,21 @@ module AssetSync
|
|
320
327
|
def fetch(key)
|
321
328
|
@overrides.fetch(key)
|
322
329
|
end
|
330
|
+
end
|
323
331
|
|
332
|
+
# @api private
|
333
|
+
class FogPublicValue
|
334
|
+
def initialize(val)
|
335
|
+
@value = val
|
336
|
+
end
|
337
|
+
|
338
|
+
def use_explicit_value?
|
339
|
+
@value.to_s != "default"
|
340
|
+
end
|
341
|
+
|
342
|
+
def to_bool
|
343
|
+
!@value.nil?
|
344
|
+
end
|
324
345
|
end
|
325
346
|
end
|
326
347
|
end
|
data/lib/asset_sync/storage.rb
CHANGED
@@ -43,7 +43,7 @@ module AssetSync
|
|
43
43
|
|
44
44
|
def get_manifest_path
|
45
45
|
return [] unless self.config.include_manifest
|
46
|
-
|
46
|
+
|
47
47
|
if ActionView::Base.respond_to?(:assets_manifest)
|
48
48
|
manifest = Sprockets::Manifest.new(ActionView::Base.assets_manifest.environment, ActionView::Base.assets_manifest.dir)
|
49
49
|
manifest_path = manifest.filename
|
@@ -148,10 +148,17 @@ module AssetSync
|
|
148
148
|
file = {
|
149
149
|
:key => f,
|
150
150
|
:body => file_handle,
|
151
|
-
:public => true,
|
152
151
|
:content_type => mime
|
153
152
|
}
|
154
153
|
|
154
|
+
# region fog_public
|
155
|
+
|
156
|
+
if config.fog_public.use_explicit_value?
|
157
|
+
file[:public] = config.fog_public.to_bool
|
158
|
+
end
|
159
|
+
|
160
|
+
# endregion fog_public
|
161
|
+
|
155
162
|
uncompressed_filename = f.sub(/\.gz\z/, '')
|
156
163
|
basename = File.basename(uncompressed_filename, File.extname(uncompressed_filename))
|
157
164
|
|
data/lib/asset_sync/version.rb
CHANGED
@@ -42,6 +42,11 @@ if defined?(AssetSync)
|
|
42
42
|
# Increase upload performance by configuring your region
|
43
43
|
# config.fog_region = 'eu-west-1'
|
44
44
|
#
|
45
|
+
# Set `public` option when uploading file depending on value,
|
46
|
+
# Setting to "default" makes asset sync skip setting the option
|
47
|
+
# Possible values: true, false, "default" (default: true)
|
48
|
+
# config.fog_public = true
|
49
|
+
#
|
45
50
|
# Don't delete files from the store
|
46
51
|
# config.existing_remote_files = "keep"
|
47
52
|
#
|
@@ -3,6 +3,7 @@ defaults: &defaults
|
|
3
3
|
fog_provider: 'AWS'
|
4
4
|
aws_access_key_id: "<%= aws_access_key_id %>"
|
5
5
|
aws_secret_access_key: "<%= aws_secret_access_key %>"
|
6
|
+
|
6
7
|
# To use AWS reduced redundancy storage.
|
7
8
|
# aws_reduced_redundancy: true
|
8
9
|
#
|
@@ -32,15 +33,25 @@ defaults: &defaults
|
|
32
33
|
# fog_directory specifies container name of Azure Blob storage
|
33
34
|
<%- end -%>
|
34
35
|
fog_directory: "<%= app_name %>-assets"
|
36
|
+
|
35
37
|
# You may need to specify what region your storage bucket is in
|
36
38
|
# fog_region: "eu-west-1"
|
39
|
+
|
40
|
+
# Set `public` option when uploading file depending on value,
|
41
|
+
# Setting to "default" makes asset sync skip setting the option
|
42
|
+
# Possible values: true, false, "default" (default: true)
|
43
|
+
# config.fog_public = true
|
44
|
+
|
37
45
|
existing_remote_files: keep
|
38
46
|
# To delete existing remote files.
|
39
47
|
# existing_remote_files: delete
|
48
|
+
|
40
49
|
# Automatically replace files with their equivalent gzip compressed version
|
41
50
|
# gzip_compression: true
|
51
|
+
|
42
52
|
# Fail silently. Useful for environments such as Heroku
|
43
53
|
# fail_silently: true
|
54
|
+
|
44
55
|
# Allow custom assets to be cacheable. Note: The base filename will be matched
|
45
56
|
# cache_asset_regexps: ['cache_me.js', !ruby/regexp '/cache_some\.\d{8}\.css/']
|
46
57
|
|
data/spec/spec_helper.rb
CHANGED
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.6.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: 2018-
|
14
|
+
date: 2018-12-07 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: fog-core
|
@@ -97,6 +97,20 @@ dependencies:
|
|
97
97
|
- - ">="
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
|
+
- !ruby/object:Gem::Dependency
|
101
|
+
name: coveralls
|
102
|
+
requirement: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '0.7'
|
107
|
+
type: :development
|
108
|
+
prerelease: false
|
109
|
+
version_requirements: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ">="
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0.7'
|
100
114
|
- !ruby/object:Gem::Dependency
|
101
115
|
name: mime-types
|
102
116
|
requirement: !ruby/object:Gem::Requirement
|
@@ -242,7 +256,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
242
256
|
version: '0'
|
243
257
|
requirements: []
|
244
258
|
rubyforge_project: asset_sync
|
245
|
-
rubygems_version: 2.7.
|
259
|
+
rubygems_version: 2.7.8
|
246
260
|
signing_key:
|
247
261
|
specification_version: 4
|
248
262
|
summary: Synchronises Assets in a Rails 3 application and Amazon S3/Cloudfront and
|