GitSSHWrapper

Encapsulate the code you need to write out a permissive GIT_SSH script that can be used to connect git to protected [email protected] repositories.

Example

def get_refs
  wrapper = GitSSHWrapper.new(:private_key_path => '~/.ssh/id_rsa', :log_level => 'ERROR')
  `env #{wrapper.git_ssh} git ls-remote [email protected]:martinemde/git-ssh-wrapper.git`
ensure
  wrapper.unlink
end

OR

# :log_level default in 'INFO'
def get_refs
  GitSSHWrapper.new(:private_key_path => '~/.ssh/id_rsa') do |wrapper|
    `env #{wrapper.cmd_prefix} git ls-remote [email protected]:martinemde/git-ssh-wrapper.git`
  end
end

OR

wrapper = GitSSHWrapper.new(:private_key => Pathname.new('id_rsa').read)

The wrapper creates Tempfiles when it is initialized. They will be cleaned at program exit, or you can unlink them by calling #unlink like the example above.