asset_sync 1.2.1 → 1.3.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
  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