lib/negroku/tasks/rbenv.rake in negroku-2.0.0.pre4 vs lib/negroku/tasks/rbenv.rake in negroku-2.0.0.pre5
- old
+ new
@@ -24,19 +24,16 @@
end
end
end
desc "Add environmental variables in the form VAR=value"
- task :add, :variable do |t, args|
+ task :add, [:variable] => 'deploy:check:linked_files' do |t, args|
vars = [args.variable] + args.extras
on release_roles :app do
within shared_path do
- unless test "[ ! -f .rbenv-vars ]"
- execute :touch, ".rbenv-vars"
- end
vars.compact.each do |var|
key, value = var.split('=')
cmd = build_add_var_cmd("#{shared_path}/.rbenv-vars", key, value)
execute cmd
end
@@ -48,9 +45,18 @@
desc "Remove environmental variable"
task :remove, [:key] do |t, args|
on release_roles :app do
within shared_path do
execute :sed, "-i", "/^#{args[:key]}=/d", ".rbenv-vars"
+ end
+ end
+ end
+
+ # Ensure the rbenv-vars file exist
+ before 'deploy:check:linked_files', 'deploy:check:files' do
+ on release_roles fetch(:rbenv_roles) do
+ within shared_path do
+ execute :touch, ".rbenv-vars"
end
end
end
end