capistrano-rails 0.0.4 → 0.0.5

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: 2dab9c74ee9e73d562975a08239802c3df5d7ba7
4
- data.tar.gz: 3d44b57e3f957402d731db8e9262ea4b42366258
3
+ metadata.gz: 0b73bab2e74f6f071803eeba93732b9ba81f1620
4
+ data.tar.gz: 2eec5040ac19c770e3d231e8c87760c0844c75d7
5
5
  SHA512:
6
- metadata.gz: a223b384e43dbd892327e99af54c645084bc8594c919c03682eb3ad60197a82f7bd6c05c427c48da20c52e892d0b6f1a7a755225ed815c3f3b4c6a0dfc0a21b1
7
- data.tar.gz: 02d602152b4a080658411337ebebcf8e691f688f7430bac44022b271ed550df6d34b94a56f29115ad16b8dc0ec83fcd6cf974fc597a0119ccd78200024f90194
6
+ metadata.gz: 9aecf9d52b77a174ccd107b1d12484e5f8639e2387b217878db826011bbf61eb27da1841a8817ab41f22c4ee264d5704f2277b37e5e66ba154e8f297bc00a203
7
+ data.tar.gz: 3340b64eb2e37a1231650b184621a13c5d9c59002d13a6a6ab5e57ef07d9134c9bb8fca0f9c7ec457d752548ec0bcc0af4a5453f43a221eb0e45f5b74fd3f3d5
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |gem|
6
6
  gem.name = "capistrano-rails"
7
- gem.version = '0.0.4'
7
+ gem.version = '0.0.5'
8
8
  gem.authors = ["Tom Clements", "Lee Hambley"]
9
9
  gem.email = ["seenmyfate@gmail.com", "lee.hambley@gmail.com"]
10
10
  gem.description = %q{Rails specific Capistrano tasks}
@@ -1,3 +1,8 @@
1
+ module Capistrano
2
+ class FileNotFound < StandardError
3
+ end
4
+ end
5
+
1
6
  namespace :deploy do
2
7
  desc 'Normalise asset timestamps'
3
8
  task :normalise_assets do
@@ -9,5 +14,71 @@ namespace :deploy do
9
14
  end
10
15
  end
11
16
 
12
- after :finalize, 'deploy:normalise_assets'
17
+ desc 'Compile assets'
18
+ task :compile_assets do
19
+ invoke 'deploy:assets:precompile'
20
+ invoke 'deploy:assets:backup_manifest'
21
+ end
22
+
23
+ desc 'Cleanup expired assets'
24
+ task :cleanup_assets do
25
+ on roles :web do
26
+ within release_path do
27
+ execute :rake, "assets:clean RAILS_ENV=#{fetch(:stage)}"
28
+ end
29
+ end
30
+ end
31
+
32
+ desc 'Rollback assets'
33
+ task :rollback_assets do
34
+ begin
35
+ invoke 'deploy:assets:restore_manifest'
36
+ rescue Capistrano::FileNotFound
37
+ invoke 'deploy:compile_assets'
38
+ end
39
+ end
40
+
41
+ after 'deploy:updated', 'deploy:compile_assets'
42
+ after 'deploy:updated', 'deploy:cleanup_assets'
43
+ after 'deploy:updated', 'deploy:normalise_assets'
44
+ after 'deploy:reverted', 'deploy:rollback_assets'
45
+
46
+ namespace :assets do
47
+ task :precompile do
48
+ on roles :web do
49
+ within release_path do
50
+ execute :rake, "assets:precompile RAILS_ENV=#{fetch(:stage)}"
51
+ end
52
+ end
53
+ end
54
+
55
+ task :backup_manifest do
56
+ on roles :web do
57
+ within release_path do
58
+ execute :cp,
59
+ release_path.join('public', 'assets', 'manifest*.json'),
60
+ release_path.join('assets_manifest_backup.json')
61
+ end
62
+ end
63
+ end
64
+
65
+ task :restore_manifest do
66
+ on roles :web do
67
+ within release_path do
68
+ source = release_path.join('assets_manifest_backup.json')
69
+ target = capture(:ls, release_path.join('public', 'assets',
70
+ 'manifest*')).strip
71
+ if test "[[ -f #{source} && -f #{target} ]]"
72
+ execute :cp, source, target
73
+ else
74
+ msg = 'Rails assets manifest file (or backup file) not found.'
75
+ warn msg
76
+ fail Capistrano::FileNotFound, msg
77
+ end
78
+ end
79
+ end
80
+ end
81
+
82
+ end
83
+
13
84
  end
@@ -9,6 +9,6 @@ namespace :deploy do
9
9
  end
10
10
  end
11
11
 
12
- before 'deploy:finalize', 'deploy:migrate'
12
+ after 'deploy:updated', 'deploy:migrate'
13
13
  end
14
14
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: capistrano-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Clements
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-07-04 00:00:00.000000000 Z
12
+ date: 2013-07-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: capistrano