cabal 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cecf9ec3105375d57486f38da51b9b6de9550c52
4
- data.tar.gz: a7b000ae04cc6b66b6217d498f948e6e979b3e7a
3
+ metadata.gz: 1911f5bc4c94b10fa7b62a071ae93dfdcbd66eec
4
+ data.tar.gz: 6d118c1dbecf0394f7197ca0a1c350ef09b2ee73
5
5
  SHA512:
6
- metadata.gz: 55952970940db72b4e2e2836bea5885b26f7339a63f556d573dadcb21027370b58d90a2efb9f0580f4d48c2f9be75899dea0979e711fb812e4d83c4df66e0387
7
- data.tar.gz: 04d16fe8c29d116e9606c35df5fe942a50ffd841726dedf9086ed8bd7cf1bf15eaaf2d2caf99134035a8805f3cb3c408d4345818c7ca3a008f4847b879aea940
6
+ metadata.gz: 4777b7b6b3881852f0bdb365e35316f889e73e0ff86ba821d37fb8a178c401e87c56e6f3e6d3dc7ff3f5dfa0a497b6f22a9994597399000de31fdb5ae7abe8a9
7
+ data.tar.gz: e9a2f6cd1155d03a5c394b5ab2b6ff3d451fb1005d840325785cdfada262be305bffbcfb7ff7555e78ee8a8a1bc14bfff5886687a233134e56c6d68ee5fc5f99
@@ -0,0 +1,16 @@
1
+ module Cabal
2
+ class IdentityManager
3
+ attr_reader :env
4
+
5
+ def start
6
+ @env = `ssh-agent`.
7
+ split(/(\;|\n)/).
8
+ select {|x| x =~ /^SSH_/}.
9
+ join(' ')
10
+ end
11
+
12
+ def stop
13
+ `#{env} ssh-agent -k`
14
+ end
15
+ end
16
+ end
@@ -1,5 +1,6 @@
1
1
  require 'cabal/util'
2
2
  require 'cabal/client'
3
+ require 'cabal/identity_manager'
3
4
  require 'tempfile'
4
5
  require 'securerandom'
5
6
  require 'uri'
@@ -26,10 +27,12 @@ module Cabal
26
27
 
27
28
  begin
28
29
  FileUtils.chmod(0700, key_file.path)
29
- Kernel.system("ssh-add #{key_file.path} > /dev/null 2>&1")
30
- Kernel.system("ssh -A #{ssh_signature}")
30
+ agent.start
31
+ Kernel.system("#{agent.env} ssh-add #{key_file.path} > /dev/null 2>&1")
32
+ Kernel.system("#{agent.env} ssh -A #{ssh_signature}")
31
33
  ensure
32
- Kernel.system("ssh-add -D > /dev/null 2>&1")
34
+ Kernel.system("#{agent.env} ssh-add -D > /dev/null 2>&1")
35
+ agent.stop
33
36
  key_file.unlink
34
37
  end
35
38
  end
@@ -50,5 +53,9 @@ module Cabal
50
53
  def cluster
51
54
  @cluster
52
55
  end
56
+
57
+ def agent
58
+ @agent ||= Cabal::IdentityManager.new
59
+ end
53
60
  end
54
61
  end
@@ -1,3 +1,3 @@
1
1
  module Cabal
2
- VERSION = "0.4.1"
2
+ VERSION = "0.4.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cabal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dennis Walters
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-10-15 00:00:00.000000000 Z
11
+ date: 2015-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -216,6 +216,7 @@ files:
216
216
  - lib/cabal/client.rb
217
217
  - lib/cabal/commands/key.rb
218
218
  - lib/cabal/commands/ssh.rb
219
+ - lib/cabal/identity_manager.rb
219
220
  - lib/cabal/ssh.rb
220
221
  - lib/cabal/version.rb
221
222
  homepage: https://github.com/engineyard/cabal