ssh-short 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ssh_short/keyset.rb +3 -1
- data/lib/ssh_short/version.rb +1 -1
- data/spec/ssh_short/keyset_spec.rb +62 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA512:
|
3
|
-
|
4
|
-
|
3
|
+
data.tar.gz: 8dd082ac87f7edfae8849622cd12d53e72c869a794bba884d58b3a1b86155025f0cc11608ee1dc89b2c54759be97beadb6dffcdc8997f9fb975ccfbc4a49bab0
|
4
|
+
metadata.gz: abee1242981455872aa9556b41588e8fd0b379d1db3ca458951b2b662fdea744412db526862b7155689aa085427a758b14fae13bf4eaa7dee3939f3f556c73a8
|
5
5
|
SHA1:
|
6
|
-
|
7
|
-
|
6
|
+
data.tar.gz: 38070a5945bf08e55a334e6eff7a2e5abf5c6f7d
|
7
|
+
metadata.gz: 06f47f255095c87e0dcf0f740fc8c5ea7ad1085a
|
data/lib/ssh_short/keyset.rb
CHANGED
@@ -14,6 +14,7 @@ module SshShort
|
|
14
14
|
abort "Error: No keys found in #{@keys_dir}" unless keys.count > 0
|
15
15
|
|
16
16
|
key_names = keys.collect { |key| File.basename key }
|
17
|
+
key_names.unshift 'id_rsa'
|
17
18
|
|
18
19
|
puts 'Select a key:'
|
19
20
|
key_names.each_with_index { |key_name, i| puts "#{i}) #{key_name}" }
|
@@ -25,7 +26,8 @@ module SshShort
|
|
25
26
|
end
|
26
27
|
|
27
28
|
def get_key(key_name)
|
28
|
-
key = "#{@keys_dir}/#{key_name}"
|
29
|
+
key = key_name.eql?('id_rsa') ? '~/.ssh/id_rsa' : "#{@keys_dir}/#{key_name}"
|
30
|
+
key = File.expand_path(key)
|
29
31
|
abort "Error: Cannot find #{key}" unless File.exist? key
|
30
32
|
key
|
31
33
|
end
|
data/lib/ssh_short/version.rb
CHANGED
@@ -0,0 +1,62 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'ssh_short/keyset'
|
3
|
+
|
4
|
+
describe SshShort::KeySet do
|
5
|
+
|
6
|
+
let(:keys_dir) { '/path/to/keys' }
|
7
|
+
let(:keys) { [ 'key_a.pem', 'key_b.pem', 'key_c.pem', 'key_d.pem' ] }
|
8
|
+
|
9
|
+
subject(:key_set) { SshShort::KeySet.new keys_dir }
|
10
|
+
|
11
|
+
before(:each) do
|
12
|
+
allow(File).to receive(:exist?) {keys_dir}.and_return(true)
|
13
|
+
allow(File).to receive(:file?).and_return(true)
|
14
|
+
allow(Dir).to receive(:glob).and_return(keys)
|
15
|
+
allow(STDIN).to receive(:gets).and_return('2')
|
16
|
+
allow(key_set).to receive(:puts) # Stop prompt list printing to STDOUT
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'prompt_for_key' do
|
20
|
+
|
21
|
+
it 'returns the name of the selected key' do
|
22
|
+
result = key_set.prompt_for_key
|
23
|
+
expect(result).to eq 'key_b.pem'
|
24
|
+
end
|
25
|
+
|
26
|
+
context 'when key 0 is selected' do
|
27
|
+
|
28
|
+
before(:each) do
|
29
|
+
allow(STDIN).to receive(:gets).and_return('0')
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'returns the default key name' do
|
33
|
+
result = key_set.prompt_for_key
|
34
|
+
expect(result).to eq 'id_rsa'
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
end
|
41
|
+
|
42
|
+
describe 'get_key' do
|
43
|
+
|
44
|
+
it 'returns the key path from the name' do
|
45
|
+
key_name = 'key_c.pem'
|
46
|
+
result = key_set.get_key key_name
|
47
|
+
expect(result).to eq "#{keys_dir}/#{key_name}"
|
48
|
+
end
|
49
|
+
|
50
|
+
context 'when the default key name is provided' do
|
51
|
+
|
52
|
+
it 'returns the default key path' do
|
53
|
+
result = key_set.get_key 'id_rsa'
|
54
|
+
expect(result).to match /.ssh\/id_rsa/
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
end
|
61
|
+
|
62
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ssh-short
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tom Poulton
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2016-02-11 00:00:00 Z
|
13
13
|
dependencies: []
|
14
14
|
|
15
15
|
description: Easy ssh
|
@@ -33,6 +33,7 @@ files:
|
|
33
33
|
- lib/ssh_short/parser.rb
|
34
34
|
- lib/ssh_short/version.rb
|
35
35
|
- spec/spec_helper.rb
|
36
|
+
- spec/ssh_short/keyset_spec.rb
|
36
37
|
- spec/ssh_short/nodemapper_spec.rb
|
37
38
|
- spec/ssh_short/parser_spec.rb
|
38
39
|
- ssh-short.gemspec
|
@@ -64,5 +65,6 @@ specification_version: 4
|
|
64
65
|
summary: Fewer keystrokes to get things done
|
65
66
|
test_files:
|
66
67
|
- spec/spec_helper.rb
|
68
|
+
- spec/ssh_short/keyset_spec.rb
|
67
69
|
- spec/ssh_short/nodemapper_spec.rb
|
68
70
|
- spec/ssh_short/parser_spec.rb
|