Sha256: 6e289d07044375af77f398560f0d0cd5355a027e6d93be20a6bcb7bd625a32a3

Contents?: true

Size: 992 Bytes

Versions: 4

Compression:

Stored size: 992 Bytes

Contents

namespace :rails do
  desc "Open the rails console on each of the remote servers"
  task :console do
    on roles(:app), primary: true do |host, user|
      rails_env = fetch(:rails_env)
      run_interactively "RAILS_ENV=#{rails_env} bundle exec rails console"
    end
  end

  desc "Open the rails dbconsole on each of the remote servers"
  task :dbconsole do
    on roles(:db), primary: true do |host|
      rails_env = fetch(:rails_env)
      run_interactively "RAILS_ENV=#{rails_env} bundle exec rails dbconsole"
    end
  end

  desc "Open the rails log"
  task :log do
    on roles(:app), primary: true do |host, user|
      rails_env = ENV['LOG'] || fetch(:rails_env)
      run_interactively "tail -f log/#{rails_env}.log"
    end
  end

  def run_interactively(command)
    port = host.port || 22
    puts "ssh #{host.user}@#{host} -p #{port} -t 'cd #{deploy_to}/current; #{command}'"
    exec "ssh #{host.user}@#{host} -p #{port} -t 'cd #{deploy_to}/current; #{command}'"
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
jefferies_tube-0.1.3 lib/jefferies_tube/capistrano/rails.rb
jefferies_tube-0.1.2 lib/jefferies_tube/capistrano/rails.rb
jefferies_tube-0.1.1 lib/jefferies_tube/capistrano/rails.rb
jefferies_tube-0.1.0 lib/jefferies_tube/capistrano/rails.rb