sshkit 0.0.5 → 0.0.6
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/.gitignore +1 -0
- data/CHANGELOG.md +29 -0
- data/EXAMPLES.md +26 -0
- data/README.md +2 -2
- data/lib/sshkit/version.rb +1 -1
- metadata +1 -2
- data/Gemfile.lock +0 -69
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,35 @@
|
|
3
3
|
This file is written in reverse chronological order, newer releases will
|
4
4
|
appear at the top.
|
5
5
|
|
6
|
+
## 0.0.6
|
7
|
+
|
8
|
+
* Support arbitrary properties on Host objects. (see below)
|
9
|
+
|
10
|
+
Starting with this version, the `Host` class supports arbitrary properties,
|
11
|
+
here's a proposed use-case:
|
12
|
+
|
13
|
+
servers = %w{one.example.com two.example.com
|
14
|
+
three.example.com four.example.com}.collect do |s|
|
15
|
+
h = SSHKit::Host.new(s)
|
16
|
+
if s.match /(one|two)/
|
17
|
+
h.properties.roles = [:web]
|
18
|
+
else
|
19
|
+
h.properties.roles = [:app]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
on servers do |host|
|
24
|
+
if host.properties.roles.include?(:web)
|
25
|
+
# Do something pertinent to web servers
|
26
|
+
elsif host.properties.roles.include?(:app)
|
27
|
+
# Do something pertinent to application servers
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
Naturally, this is a contrived example, the `#properties` attribute on the
|
32
|
+
Host instance is implemented as an [`OpenStruct`](http://ruby-doc.org/stdlib-1.9.3/libdoc/ostruct/rdoc/OpenStruct.html) and
|
33
|
+
will behave exactly as such.
|
34
|
+
|
6
35
|
## 0.0.5
|
7
36
|
|
8
37
|
* Removed configuration option `SSHKit.config.format` (see below)
|
data/EXAMPLES.md
CHANGED
@@ -198,3 +198,29 @@ match.
|
|
198
198
|
|
199
199
|
You might also look at `./lib/sshkit/dsl.rb` where you can see almost the
|
200
200
|
exact code as above, which implements the `on()` method.
|
201
|
+
|
202
|
+
## Use the Host properties attribute
|
203
|
+
|
204
|
+
Implemented since `v0.0.6`
|
205
|
+
|
206
|
+
servers = %w{one.example.com two.example.com
|
207
|
+
three.example.com four.example.com}.collect do |s|
|
208
|
+
h = SSHKit::Host.new(s)
|
209
|
+
if s.match /(one|two)/
|
210
|
+
h.properties.roles = [:web]
|
211
|
+
else
|
212
|
+
h.properties.roles = [:app]
|
213
|
+
end
|
214
|
+
end
|
215
|
+
|
216
|
+
on servers do |host|
|
217
|
+
if host.properties.roles.include?(:web)
|
218
|
+
# Do something pertinent to web servers
|
219
|
+
elsif host.properties.roles.include?(:app)
|
220
|
+
# Do something pertinent to application servers
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
The `SSHKit::Host#properties` is an [`OpenStruct`](http://ruby-doc.org/stdlib-1.9.3/libdoc/ostruct/rdoc/OpenStruct.html)
|
225
|
+
which is not verified or validated in any way, it is up to you, or your
|
226
|
+
library to attach meanings or conventions to this mechanism.
|
data/README.md
CHANGED
@@ -181,8 +181,8 @@ should be printed.
|
|
181
181
|
* No built-in way to background() something (execute and background the
|
182
182
|
process).
|
183
183
|
* No environment handling (sshkit might not need to care)
|
184
|
-
* No arbitrary `Host` properties (example storing `roles` on servers, or other
|
185
|
-
metadata that might be useful in the `on()` block)
|
184
|
+
* ~~No arbitrary `Host` properties (example storing `roles` on servers, or other
|
185
|
+
metadata that might be useful in the `on()` block)~~
|
186
186
|
* No log/warning facility (passing Log messages to the output would work)
|
187
187
|
A log object could be made available globally which would emit a LogMessage
|
188
188
|
type object which would be recognised by the formatters that need to care
|
data/lib/sshkit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sshkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -227,7 +227,6 @@ files:
|
|
227
227
|
- EXAMPLES.md
|
228
228
|
- FAQ.md
|
229
229
|
- Gemfile
|
230
|
-
- Gemfile.lock
|
231
230
|
- LICENSE.md
|
232
231
|
- README.md
|
233
232
|
- RELEASING.md
|
data/Gemfile.lock
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
sshkit (0.0.5)
|
5
|
-
net-ssh
|
6
|
-
term-ansicolor
|
7
|
-
|
8
|
-
GEM
|
9
|
-
remote: http://rubygems.org/
|
10
|
-
specs:
|
11
|
-
ZenTest (4.6.2)
|
12
|
-
ansi (1.4.3)
|
13
|
-
archive-tar-minitar (0.5.2)
|
14
|
-
autotest (4.4.6)
|
15
|
-
ZenTest (>= 4.4.1)
|
16
|
-
childprocess (0.3.6)
|
17
|
-
ffi (~> 1.0, >= 1.0.6)
|
18
|
-
columnize (0.3.6)
|
19
|
-
debugger (1.2.3)
|
20
|
-
columnize (>= 0.3.1)
|
21
|
-
debugger-linecache (~> 1.1.1)
|
22
|
-
debugger-ruby_core_source (~> 1.1.5)
|
23
|
-
debugger-linecache (1.1.2)
|
24
|
-
debugger-ruby_core_source (>= 1.1.1)
|
25
|
-
debugger-ruby_core_source (1.1.6)
|
26
|
-
erubis (2.7.0)
|
27
|
-
ffi (1.2.0)
|
28
|
-
i18n (0.6.1)
|
29
|
-
json (1.5.4)
|
30
|
-
log4r (1.1.10)
|
31
|
-
metaclass (0.0.1)
|
32
|
-
minitest (2.11.3)
|
33
|
-
mocha (0.10.5)
|
34
|
-
metaclass (~> 0.0.1)
|
35
|
-
net-scp (1.0.4)
|
36
|
-
net-ssh (>= 1.99.1)
|
37
|
-
net-ssh (2.2.2)
|
38
|
-
rake (10.0.3)
|
39
|
-
redcarpet (2.2.2)
|
40
|
-
term-ansicolor (1.0.7)
|
41
|
-
turn (0.9.6)
|
42
|
-
ansi
|
43
|
-
unindent (1.0)
|
44
|
-
vagrant (1.0.5)
|
45
|
-
archive-tar-minitar (= 0.5.2)
|
46
|
-
childprocess (~> 0.3.1)
|
47
|
-
erubis (~> 2.7.0)
|
48
|
-
i18n (~> 0.6.0)
|
49
|
-
json (~> 1.5.1)
|
50
|
-
log4r (~> 1.1.9)
|
51
|
-
net-scp (~> 1.0.4)
|
52
|
-
net-ssh (~> 2.2.2)
|
53
|
-
yard (0.8.3)
|
54
|
-
|
55
|
-
PLATFORMS
|
56
|
-
ruby
|
57
|
-
|
58
|
-
DEPENDENCIES
|
59
|
-
autotest
|
60
|
-
debugger
|
61
|
-
minitest (>= 2.11.3, < 2.12.0)
|
62
|
-
mocha
|
63
|
-
rake
|
64
|
-
redcarpet
|
65
|
-
sshkit!
|
66
|
-
turn
|
67
|
-
unindent
|
68
|
-
vagrant
|
69
|
-
yard
|