Sha256: 610720510d60264cc38b0af4dcecfd192e44d9969158edef7153f45ea9deeb2d
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
# Patch to add ability to clear sessions module Capistrano::Configuration::Connections # Set the user to something new (but save the old user; reset_user will set it back) def set_user(new_user) backup_user = fetch(:user) return if backup_user == new_user @backup_user = backup_user set :user, new_user clear_sessions end # Reset the old user def reset_user set :user, @backup_user @backup_user = nil clear_sessions end # Yields the previous user def with_user(new_user, &block) begin set_user(new_user) yield @backup_user ensure reset_user end clear_sessions end # Close all open session def clear_sessions sessions.each do |key, session| logger.info "Closing: #{key}" session.close end sessions.clear reset_password end # Reset the password def reset_password set :password, Proc.new { Capistrano::CLI.password_prompt("Password (for #{user}): ") } end end # Debug connections # class Capistrano::SSH # # class << self # # def connect_with_logging(server, options={}, &block) # connect_without_logging(server, options, &block) # end # # alias_method_chain :connect, :logging # # end # end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
capigen-0.1.2 | lib/capigen/cap_ext/connections.rb |
capigen-0.1.3 | lib/capigen/cap_ext/connections.rb |
capigen-0.1.4 | lib/capigen/cap_ext/connections.rb |