asset_sync 1.2.1 → 1.3.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
  SHA1:
3
- metadata.gz: 2c68bc90d034746edc2c7534f4f4385459202d0b
4
- data.tar.gz: 7c9b4ae0af9fd7c185e26bfcf727a099160f1c6e
3
+ metadata.gz: bd1393284c71b816a4c7adf08939bc98a3db8c85
4
+ data.tar.gz: dcd639f471d42d101d06203acbd395532948db5c
5
5
  SHA512:
6
- metadata.gz: 2def4eaad25263680713d712c9f746ab471b19a05116e90513ea7dcb1dfc513ab21883c913dfc1c40d0fe1a88c651984df7433acf5ab60b0d0476b080d43aeb4
7
- data.tar.gz: 777b4d76caf40ebf28f133b2d394616a268b61a61a6f4311eb171135623ae94a7aeecb6c1aeab651ab99fed05c586bd4f8975faf92670543f9f65bff0765779f
6
+ metadata.gz: 56449736185bb8f05f762d366124ea6024811cfc3b34754a4c8f1673a29bba9cc6d423d3a523fc2a16339fd43dad702f7d3fe8c8e6d59451da7add64817e43ae
7
+ data.tar.gz: 28495c0ede2eb463c35afc429aa8d6b527b03a7c4595835bfcf12da5c7dcc96631f524df73ff612c9551a0faeb729abea86f294cdd367b12c987a7f1708a167d
data/CHANGELOG.md CHANGED
@@ -18,6 +18,15 @@ This project adheres to [Semantic Versioning](http://semver.org/).
18
18
  - Nothing
19
19
 
20
20
 
21
+ ## [1.3.0] - 2016-11-30
22
+
23
+ ### Changed
24
+
25
+ - Add regex support to always_upload (https://github.com/AssetSync/asset_sync/pull/333)
26
+ - Stop failing sliently when YAML file does not contain key for rails environment (https://github.com/AssetSync/asset_sync/pull/270)
27
+ - Stop failing sliently when YAML file cannot be parsed due to syntax error
28
+
29
+
21
30
  ## [1.2.1] - 2016-08-19
22
31
 
23
32
  ### Fixed
@@ -781,6 +790,7 @@ Changes:
781
790
  * Merge branch 'sinatra'
782
791
 
783
792
 
784
- [Unreleased]: https://github.com/AssetSync/asset_sync/compare/v1.2.1...HEAD
793
+ [Unreleased]: https://github.com/AssetSync/asset_sync/compare/v1.3.0...HEAD
794
+ [1.3.0]: https://github.com/AssetSync/asset_sync/compare/v1.2.1...v1.3.0
785
795
  [1.2.1]: https://github.com/AssetSync/asset_sync/compare/v1.2.0...v1.2.1
786
796
  [1.2.0]: https://github.com/AssetSync/asset_sync/compare/v1.1.0...v1.2.0
data/README.md CHANGED
@@ -229,7 +229,7 @@ defaults: &defaults
229
229
  # Always upload. Useful if you want to overwrite specific remote assets regardless of their existence
230
230
  # eg: Static files in public often reference non-fingerprinted application.css
231
231
  # note: You will still need to expire them from the CDN's edge cache locations
232
- # always_upload: ['application.js', 'application.css']
232
+ # always_upload: ['application.js', 'application.css', !ruby/regexp '/application-/\d{32}\.css/']
233
233
  # Ignored files. Useful if there are some files that are created dynamically on the server and you don't want to upload on deploy.
234
234
  # ignored_files: ['ignore_me.js', !ruby/regexp '/ignore_some/\d{32}\.css/']
235
235
 
@@ -272,7 +272,7 @@ AssetSync.config.gzip_compression == ENV['ASSET_SYNC_GZIP_COMPRESSION']
272
272
 
273
273
  #### Fog (Optional)
274
274
 
275
- * **fog\_region**: the region your storage bucket is in e.g. *eu-west-1*
275
+ * **fog\_region**: the region your storage bucket is in e.g. *eu-west-1* (AWS), *ord* (Rackspace)
276
276
  * **fog\_path\_style**: To use buckets with dot in names, check https://github.com/fog/fog/issues/2381#issuecomment-28088524
277
277
 
278
278
  #### AWS
@@ -115,11 +115,7 @@ module AssetSync
115
115
  end
116
116
 
117
117
  def yml
118
- begin
119
- @yml ||= YAML.load(ERB.new(IO.read(yml_path)).result)[Rails.env] rescue nil || {}
120
- rescue Psych::SyntaxError
121
- @yml = {}
122
- end
118
+ @yml ||= YAML.load(ERB.new(IO.read(yml_path)).result)[Rails.env] || {}
123
119
  end
124
120
 
125
121
  def yml_path
@@ -33,22 +33,7 @@ module AssetSync
33
33
  end
34
34
 
35
35
  def ignored_files
36
- files = []
37
- Array(self.config.ignored_files).each do |ignore|
38
- case ignore
39
- when Regexp
40
- files += self.local_files.select do |file|
41
- file =~ ignore
42
- end
43
- when String
44
- files += self.local_files.select do |file|
45
- file.split('/').last == ignore
46
- end
47
- else
48
- log "Error: please define ignored_files as string or regular expression. #{ignore} (#{ignore.class}) ignored."
49
- end
50
- end
51
- files.uniq
36
+ expand_file_names(self.config.ignored_files)
52
37
  end
53
38
 
54
39
  def local_files
@@ -56,7 +41,7 @@ module AssetSync
56
41
  end
57
42
 
58
43
  def always_upload_files
59
- self.config.always_upload.map { |f| File.join(self.config.assets_prefix, f) }
44
+ expand_file_names(self.config.always_upload)
60
45
  end
61
46
 
62
47
  def files_with_custom_headers
@@ -251,5 +236,24 @@ module AssetSync
251
236
  end.compact
252
237
  end
253
238
 
239
+ def expand_file_names(names)
240
+ files = []
241
+ Array(names).each do |name|
242
+ case name
243
+ when Regexp
244
+ files += self.local_files.select do |file|
245
+ file =~ name
246
+ end
247
+ when String
248
+ files += self.local_files.select do |file|
249
+ file.split('/').last == name
250
+ end
251
+ else
252
+ log "Error: please define file names as string or regular expression. #{name} (#{name.class}) ignored."
253
+ end
254
+ end
255
+ files.uniq
256
+ end
257
+
254
258
  end
255
259
  end
@@ -1,3 +1,3 @@
1
1
  module AssetSync
2
- VERSION = "1.2.1"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -38,4 +38,8 @@ AssetSync.configure do |config|
38
38
  #
39
39
  # Fail silently. Useful for environments such as Heroku
40
40
  # config.fail_silently = true
41
+ #
42
+ # Log silently. Default is `true`. But you can set it to false if more logging message are preferred.
43
+ # Logging messages are sent to `STDOUT` when `log_silently` is falsy
44
+ # config.log_silently = true
41
45
  end
@@ -249,18 +249,12 @@ describe AssetSync do
249
249
  end
250
250
 
251
251
  describe 'with invalid yml' do
252
-
253
252
  before(:each) do
254
253
  set_rails_root('with_invalid_yml')
255
- AssetSync.config = AssetSync::Config.new
256
254
  end
257
255
 
258
- it "config should be invalid" do
259
- expect(AssetSync.config.valid?).to be_falsey
260
- end
261
-
262
- it "should raise a config invalid error" do
263
- expect{ AssetSync.sync }.to raise_error()
256
+ it "an error" do
257
+ expect{ AssetSync::Config.new }.to raise_error(Psych::SyntaxError)
264
258
  end
265
259
  end
266
260
  end
@@ -6,7 +6,7 @@ describe AssetSync::Storage do
6
6
  describe '#upload_files' do
7
7
  before(:each) do
8
8
  @local_files = ["local_image2.jpg", "local_image1.jpg", "local_stylesheet1.css", "local_stylesheet2.css"]
9
- @remote_files = ["local_image.jpg", "local_stylesheet1.css"]
9
+ @remote_files = ["local_image.jpg", "local_image3.svg", "local_image4.svg", "local_stylesheet1.css"]
10
10
  @config = AssetSync::Config.new
11
11
  end
12
12
 
@@ -23,7 +23,7 @@ describe AssetSync::Storage do
23
23
  end
24
24
 
25
25
  it 'should allow force overwriting of specific files' do
26
- @config.always_upload = ['local_image.jpg']
26
+ @config.always_upload = ['local_image.jpg', /local_image\d\.svg/]
27
27
 
28
28
  storage = AssetSync::Storage.new(@config)
29
29
  allow(storage).to receive(:local_files).and_return(@local_files)
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: 1.2.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Simon Hamilton
@@ -209,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
209
209
  version: '0'
210
210
  requirements: []
211
211
  rubyforge_project: asset_sync
212
- rubygems_version: 2.6.6
212
+ rubygems_version: 2.6.7
213
213
  signing_key:
214
214
  specification_version: 4
215
215
  summary: Synchronises Assets in a Rails 3 application and Amazon S3/Cloudfront and