poet 0.7.1 → 0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/README.md +10 -0
- data/completion/poet.bash +34 -0
- data/lib/poet.rb +12 -2
- data/lib/poet/version.rb +1 -1
- metadata +32 -15
- checksums.yaml +0 -7
data/History.txt
CHANGED
data/README.md
CHANGED
@@ -21,6 +21,16 @@ Poet won't touch your existing ssh_config.
|
|
21
21
|
If you want to play with it, pass a different filename to the "-o" option.
|
22
22
|
Or move your existing config out of the way.
|
23
23
|
|
24
|
+
### Bash completion
|
25
|
+
|
26
|
+
A Bash-compatible completion script is available for all commands and some of their arguments, most
|
27
|
+
notably for `poet edit`.
|
28
|
+
|
29
|
+
Run `poet completeme` to copy the script to `$HOME/.bash_completion.d/`.
|
30
|
+
The command outputs instructions how to properly source the file.
|
31
|
+
|
32
|
+
### Un-ignoring files
|
33
|
+
|
24
34
|
Stanzas under `~/.ssh/config.d/` with an extension of .disabled are ignored by default.
|
25
35
|
Every now and then, when you do need it, run `poet --with CONFIG` to explicitly include
|
26
36
|
`CONFIG.disabled` in your generated ssh_config. You can even include several by running several
|
@@ -0,0 +1,34 @@
|
|
1
|
+
_poet()
|
2
|
+
{
|
3
|
+
local cur prev opts base
|
4
|
+
COMPREPLY=()
|
5
|
+
cur="${COMP_WORDS[COMP_CWORD]}"
|
6
|
+
prev="${COMP_WORDS[COMP_CWORD-1]}"
|
7
|
+
|
8
|
+
#
|
9
|
+
# The basic commands we'll complete.
|
10
|
+
#
|
11
|
+
commands="bootstrap edit help ls completeme"
|
12
|
+
|
13
|
+
#
|
14
|
+
# Complete the arguments to some of the basic commands.
|
15
|
+
#
|
16
|
+
case "${prev}" in
|
17
|
+
edit)
|
18
|
+
local files=$(poet ls)
|
19
|
+
COMPREPLY=( $(compgen -W "${files}" -- ${cur}) )
|
20
|
+
return 0
|
21
|
+
;;
|
22
|
+
ls)
|
23
|
+
local flags="-t --tree"
|
24
|
+
COMPREPLY=( $(compgen -W "${flags}" -- ${cur}) )
|
25
|
+
return 0
|
26
|
+
;;
|
27
|
+
*)
|
28
|
+
;;
|
29
|
+
esac
|
30
|
+
|
31
|
+
COMPREPLY=($(compgen -W "${commands}" -- ${cur}))
|
32
|
+
return 0
|
33
|
+
}
|
34
|
+
complete -F _poet poet
|
data/lib/poet.rb
CHANGED
@@ -50,6 +50,16 @@ class PoetCLI < Thor
|
|
50
50
|
create
|
51
51
|
end
|
52
52
|
|
53
|
+
desc "completeme", "Install completion for Bash into ~/.bash_completion.d/"
|
54
|
+
def completeme
|
55
|
+
completion_dir = File.expand_path("~/.bash_completion.d/")
|
56
|
+
FileUtils.mkdir_p(completion_dir)
|
57
|
+
say "Copying completion file to #{completion_dir}"
|
58
|
+
FileUtils.cp(File.expand_path('../../completion/poet.bash', __FILE__), completion_dir)
|
59
|
+
say %Q(To use the completion, execute this command:\n
|
60
|
+
echo 'source #{File.join(completion_dir, 'poet.bash')}' >> ~/.bashrc)
|
61
|
+
end
|
62
|
+
|
53
63
|
desc "", "Concatenate all host stanzas under ~/.ssh/config.d/ into a single ~/.ssh/config"
|
54
64
|
def create
|
55
65
|
if !File.directory?(options[:dir])
|
@@ -77,7 +87,7 @@ class PoetCLI < Thor
|
|
77
87
|
files.sort.each do |file|
|
78
88
|
entries << "\n# Located in " + file.to_s
|
79
89
|
entries << File.read(file)
|
80
|
-
$stdout.puts "Using #{file.gsub(/^\.\//, '')}" if options
|
90
|
+
$stdout.puts "Using #{file.gsub(/^\.\//, '')}" if options.verbose?
|
81
91
|
end
|
82
92
|
|
83
93
|
File.open(options[:output], 'w', 0600) do |ssh_config|
|
@@ -104,7 +114,7 @@ class PoetCLI < Thor
|
|
104
114
|
desc "ls", "List all configuration files"
|
105
115
|
option :tree, aliases: '-t', type: :boolean, desc: 'Print tree of config dir'
|
106
116
|
def ls
|
107
|
-
if options
|
117
|
+
if options.tree?
|
108
118
|
print_tree(options[:dir])
|
109
119
|
else
|
110
120
|
files = Dir["#{options[:dir]}/**/*"].sort.reject { |file| File.directory?(file) }
|
data/lib/poet/version.rb
CHANGED
metadata
CHANGED
@@ -1,69 +1,78 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: poet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.8'
|
5
|
+
prerelease:
|
5
6
|
platform: ruby
|
6
7
|
authors:
|
7
8
|
- André Wendt
|
8
9
|
autorequire:
|
9
10
|
bindir: bin
|
10
11
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-28 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: cucumber
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
16
18
|
requirements:
|
17
|
-
- - '>='
|
19
|
+
- - ! '>='
|
18
20
|
- !ruby/object:Gem::Version
|
19
21
|
version: '0'
|
20
22
|
type: :development
|
21
23
|
prerelease: false
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
23
26
|
requirements:
|
24
|
-
- - '>='
|
27
|
+
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
30
|
- !ruby/object:Gem::Dependency
|
28
31
|
name: aruba
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
30
34
|
requirements:
|
31
|
-
- - '>='
|
35
|
+
- - ! '>='
|
32
36
|
- !ruby/object:Gem::Version
|
33
37
|
version: '0'
|
34
38
|
type: :development
|
35
39
|
prerelease: false
|
36
40
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
37
42
|
requirements:
|
38
|
-
- - '>='
|
43
|
+
- - ! '>='
|
39
44
|
- !ruby/object:Gem::Version
|
40
45
|
version: '0'
|
41
46
|
- !ruby/object:Gem::Dependency
|
42
47
|
name: rake
|
43
48
|
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
44
50
|
requirements:
|
45
|
-
- - '>='
|
51
|
+
- - ! '>='
|
46
52
|
- !ruby/object:Gem::Version
|
47
53
|
version: '0'
|
48
54
|
type: :development
|
49
55
|
prerelease: false
|
50
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
51
58
|
requirements:
|
52
|
-
- - '>='
|
59
|
+
- - ! '>='
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
- !ruby/object:Gem::Dependency
|
56
63
|
name: thor
|
57
64
|
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
58
66
|
requirements:
|
59
|
-
- - '>='
|
67
|
+
- - ! '>='
|
60
68
|
- !ruby/object:Gem::Version
|
61
69
|
version: '0'
|
62
70
|
type: :runtime
|
63
71
|
prerelease: false
|
64
72
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
65
74
|
requirements:
|
66
|
-
- - '>='
|
75
|
+
- - ! '>='
|
67
76
|
- !ruby/object:Gem::Version
|
68
77
|
version: '0'
|
69
78
|
description: Split your longish ~/.ssh/config into files in ~/.ssh/config.d/ and let
|
@@ -83,6 +92,7 @@ files:
|
|
83
92
|
- README.md
|
84
93
|
- Rakefile
|
85
94
|
- bin/poet
|
95
|
+
- completion/poet.bash
|
86
96
|
- editors/double_space.rb
|
87
97
|
- features/bootstrapping.feature
|
88
98
|
- features/editing_files.feature
|
@@ -100,26 +110,33 @@ files:
|
|
100
110
|
homepage: https://github.com/awendt/poet
|
101
111
|
licenses:
|
102
112
|
- MIT
|
103
|
-
metadata: {}
|
104
113
|
post_install_message:
|
105
114
|
rdoc_options: []
|
106
115
|
require_paths:
|
107
116
|
- lib
|
108
117
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
|
+
none: false
|
109
119
|
requirements:
|
110
|
-
- - '>='
|
120
|
+
- - ! '>='
|
111
121
|
- !ruby/object:Gem::Version
|
112
122
|
version: '0'
|
123
|
+
segments:
|
124
|
+
- 0
|
125
|
+
hash: -110110406908147421
|
113
126
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
114
128
|
requirements:
|
115
|
-
- - '>='
|
129
|
+
- - ! '>='
|
116
130
|
- !ruby/object:Gem::Version
|
117
131
|
version: '0'
|
132
|
+
segments:
|
133
|
+
- 0
|
134
|
+
hash: -110110406908147421
|
118
135
|
requirements: []
|
119
136
|
rubyforge_project: poet
|
120
|
-
rubygems_version:
|
137
|
+
rubygems_version: 1.8.23
|
121
138
|
signing_key:
|
122
|
-
specification_version:
|
139
|
+
specification_version: 3
|
123
140
|
summary: Poet concatenates stanzas
|
124
141
|
test_files:
|
125
142
|
- editors/double_space.rb
|
checksums.yaml
DELETED
@@ -1,7 +0,0 @@
|
|
1
|
-
---
|
2
|
-
SHA1:
|
3
|
-
metadata.gz: 3e9c7d6033cc5a5e76f1515765103d29c2a9d2dc
|
4
|
-
data.tar.gz: ee8dfc72f709de180e6ac844b18fa76a2a3a6a1c
|
5
|
-
SHA512:
|
6
|
-
metadata.gz: bffba7795d49333412d993c24a669d1578702752ef35753f5d9c618ae2154ae35c4a2a477c534a245a0aef9226c9424c92a8963e90408234b478f354885852c2
|
7
|
-
data.tar.gz: c924a9035b865f369f4842dc23f2348b9e712e95f03923ad3c7ed8fba5b838fd5855d39847d7ad92b1768cad6d1af9353e3f2e2a792b89b188e611ca24308cee
|