capistrano-faster-assets 1.0.2 → 1.1.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: fb956259c5b582ffeb90bfaf171c197c3a4f87b6
4
- data.tar.gz: 24660594eb6bf597bdbc44fd7b6accec79f545a8
3
+ metadata.gz: 12a197de2882391f9c34f9a9b9a414b9fd6a2612
4
+ data.tar.gz: 7a14555c30cbb1163e742cbd06f654d9ee771587
5
5
  SHA512:
6
- metadata.gz: 57f104c673cbeaae39d2337136e1db8f5e1fcd8d3d666087487c31dbda3ac1cbf8a7310be6378c1fd9b8a003548647383d3fcc12cb0a471ff83326a0384582c7
7
- data.tar.gz: 9d41730e12ae1271762f5a00f1d545ac744efde1c5ff571ca41aadf8c7c85e435e2ee8113b7058f5921234edb038577379168599a31b2af9da85c0a0a44172e0
6
+ metadata.gz: 511770f382e324d408dcbbfb4a8b672d2020567cf3df322b5c22843df01420a42ea8b497ee529db0c6a166a5a2e39d9da350f2869e53d2571fe361c4cbf2429b
7
+ data.tar.gz: 2343d1b04f675967354c4692741c8690a2729e0ac00c1d2b12d3291f1a65eede037d0d391f0018e87b9c17cae8a4461718f5b2dbd051360dc61fa2d881a61fc9
data/README.md CHANGED
@@ -11,6 +11,7 @@ Add this to `Gemfile`:
11
11
 
12
12
  group :development do
13
13
  gem 'capistrano', '~> 3.1'
14
+ gem 'capistrano-rails', '~> 1.1'
14
15
  gem 'capistrano-faster-assets', '~> 1.0'
15
16
  end
16
17
 
@@ -23,6 +24,20 @@ And then:
23
24
  Add this line to `Capfile`, after `require 'capistrano/rails/assets'`
24
25
 
25
26
  require 'capistrano/faster_assets'
27
+
28
+ Configure your asset depedencies in deploy.rb if you need to check additional paths (e.g. if you have some assets in YOUR_APP/engines/YOUR_ENGINE/app/assets). Default paths are:
29
+
30
+ set :assets_dependencies, %w(app/assets lib/assets vendor/assets Gemfile.lock config/routes.rb)
31
+
32
+ ### Warning
33
+
34
+ Please keep in mind, that if you use ERB in your assets, you might run into cases where Capistrano won't recompile assets when needed. For instance, let's say you have a CoffeeScript file like this:
35
+
36
+ ```coffee
37
+ text = <%= helper.get_text %>
38
+ ```
39
+
40
+ The assets might not get recompiled, even if they have to, as this gem only checks if the asset file has changed (which is probably the only safe/fast way to do this).
26
41
 
27
42
  ### More Capistrano automation?
28
43
 
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module FasterAssets
3
- VERSION = "1.0.2"
3
+ VERSION = '1.1.0'.freeze
4
4
  end
5
5
  end
@@ -17,7 +17,7 @@ namespace :deploy do
17
17
  within release_path do
18
18
  with rails_env: fetch(:rails_env) do
19
19
  begin
20
- # find the most recent release
20
+ # find the most recent release
21
21
  latest_release = capture(:ls, '-xr', releases_path).split[1]
22
22
 
23
23
  # precompile if this is the first deploy
@@ -29,12 +29,12 @@ namespace :deploy do
29
29
  execute(:ls, latest_release_path.join('assets_manifest_backup')) rescue raise(PrecompileRequired)
30
30
 
31
31
  fetch(:assets_dependencies).each do |dep|
32
- release = release_path.join(dep)
33
- latest = latest_release_path.join(dep)
34
-
35
- # skip if both directories/files do not exist
36
- next if [release, latest].map{|d| test "[ -e #{d} ]"}.uniq == [false]
37
-
32
+ release = release_path.join(dep)
33
+ latest = latest_release_path.join(dep)
34
+
35
+ # skip if both directories/files do not exist
36
+ next if [release, latest].map{|d| test "[ -e #{d} ]"}.uniq == [false]
37
+
38
38
  # execute raises if there is a diff
39
39
  execute(:diff, '-Nqr', release, latest) rescue raise(PrecompileRequired)
40
40
  end
@@ -42,7 +42,28 @@ namespace :deploy do
42
42
  info("Skipping asset precompile, no asset diff found")
43
43
 
44
44
  # copy over all of the assets from the last release
45
- execute(:cp, '-r', latest_release_path.join('public', fetch(:assets_prefix)), release_path.join('public', fetch(:assets_prefix)))
45
+ release_asset_path = release_path.join('public', fetch(:assets_prefix))
46
+ # skip if assets directory is symlink
47
+ begin
48
+ execute(:test, '-L', release_asset_path.to_s)
49
+ rescue
50
+ execute(:cp, '-r', latest_release_path.join('public', fetch(:assets_prefix)), release_asset_path.parent)
51
+ end
52
+
53
+ # check that the manifest has been created correctly, if not
54
+ # trigger a precompile
55
+ begin
56
+ # Support sprockets 2
57
+ execute(:ls, release_asset_path.join('manifest*'))
58
+ rescue
59
+ begin
60
+ # Support sprockets 3
61
+ execute(:ls, release_asset_path.join('.sprockets-manifest*'))
62
+ rescue
63
+ raise(PrecompileRequired)
64
+ end
65
+ end
66
+
46
67
  rescue PrecompileRequired
47
68
  execute(:rake, "assets:precompile")
48
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-faster-assets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Thal
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-11-17 00:00:00.000000000 Z
12
+ date: 2017-10-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano
@@ -79,9 +79,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  requirements: []
81
81
  rubyforge_project:
82
- rubygems_version: 2.2.2
82
+ rubygems_version: 2.6.10
83
83
  signing_key:
84
84
  specification_version: 4
85
85
  summary: Speeds up asset compilation if none of the assets were changed since last
86
86
  release.
87
87
  test_files: []
88
+ has_rdoc: