namespace :utilities do

desc "Report Uptimes"
task :uptime do
  on roles(:all) do |host|
    info "Host #{host} (#{host.roles.to_a.join(', ')}):\t#{capture(:uptime)}"
  end
end

desc "Install common pacakges"
task :common_packages do
  on roles(:app) do |host|
    execute :sudo, "apt-get -y update"
    execute :sudo, "apt-get -y install software-properties-common python-software-properties htop iftop iotop mytop sysstat screen curl subversion git-core rsync"
  end
end

desc 'Install Ruby'
task :install_ruby do
  invoke :'utilities:common_packages'
  on roles(:app) do |host|
    execute :sudo, 'apt-add-repository ppa:brightbox/ruby-ng -y'
    execute :sudo, "apt-get -y update"
    execute :sudo, 'apt-get -y install ruby2.1 ruby2.1-dev nodejs'
  end
end

desc 'Install the Bundler gem (server-wide)'
task :install_bundler do
  on roles(:app) do |host|
    execute :sudo, 'gem install bundler'
  end
end

end