rsh 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/lib/rsh.rb +17 -9
- data/rsh.gemspec +1 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.2.0
|
data/lib/rsh.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# Creates and operates an 'rsh' command call instance. Parameters to rsh may
|
4
4
|
# be specified through either constructor or attribute accessors. Result of
|
5
|
-
# rsh execution (_String_) is either returned in functional style (<tt>execute
|
5
|
+
# rsh execution (_String_) is either returned in functional style (<tt>execute!</tt> method call)
|
6
6
|
# or in special attribute, _result_.
|
7
7
|
#
|
8
8
|
# == Synopsis
|
@@ -12,10 +12,12 @@
|
|
12
12
|
# rsh = Rsh.new(:host => "c7206", :ruser => "bill",
|
13
13
|
# :command => "show clock")
|
14
14
|
#
|
15
|
-
# rsh.execute do |line| puts line end
|
15
|
+
# rsh.execute! do |line| puts line end
|
16
16
|
#
|
17
17
|
# 18:30:46.799 MSD Fri Oct 22 2010
|
18
18
|
#
|
19
|
+
# * See c) case in execute! method comment.
|
20
|
+
#
|
19
21
|
# === Example:
|
20
22
|
#
|
21
23
|
# This is an example of rsh in action usin interactive Ruby.
|
@@ -27,7 +29,7 @@
|
|
27
29
|
# :command => "show clock")
|
28
30
|
# => #<Rsh:0x2853f390 @ruser="bill", @executable="/usr/bin/rsh", @result="", @command="show clock", @nullr=false, @host="c7206", @to=3>
|
29
31
|
#
|
30
|
-
# irb(main):003:0> rsh.execute do |line| puts line end
|
32
|
+
# irb(main):003:0> rsh.execute! do |line| puts line end
|
31
33
|
#
|
32
34
|
# 18:30:46.799 MSD Fri Oct 22 2010
|
33
35
|
# => "\r\n18:30:46.799 MSD Fri Oct 22 2010\n"
|
@@ -61,7 +63,7 @@ class Rsh
|
|
61
63
|
attr_accessor :nullr
|
62
64
|
|
63
65
|
# The Constructor. Checks the presence of rsh in the system (running,
|
64
|
-
# naturally, 'which rsh') and prepares the command to be run with <tt>execute
|
66
|
+
# naturally, 'which rsh') and prepares the command to be run with <tt>execute!</tt>.
|
65
67
|
# rsh CLI arguments are either having default values, being collected from constructor
|
66
68
|
# call or specified via accessors.
|
67
69
|
#
|
@@ -108,18 +110,22 @@ class Rsh
|
|
108
110
|
# Call sequence:
|
109
111
|
#
|
110
112
|
# a)
|
111
|
-
# rsh_inst.execute do |line|
|
113
|
+
# rsh_inst.execute! do |line|
|
112
114
|
# puts line
|
113
|
-
# done
|
115
|
+
# done #=> complete_result_String
|
114
116
|
# b)
|
115
|
-
# rsh_inst.execute
|
117
|
+
# rsh_inst.execute! #=> complete_result_String
|
118
|
+
# c)
|
119
|
+
# rsh_inst.execute! "remote_command" #=> same as above, but replacing
|
120
|
+
# @command with the given string
|
116
121
|
#
|
117
122
|
# Returns:: the complete rsh output as one _String_. The result is also
|
118
123
|
# stored and available via _result_ attribute.
|
119
124
|
#
|
120
|
-
def execute
|
125
|
+
def execute!(command=nil)
|
126
|
+
@command = command if command
|
121
127
|
@result = ""
|
122
|
-
open "|#{executable} #{"-n" if @nullr} -l#{ruser} -t#{to} #{host} #{command}" do |io|
|
128
|
+
open "|#{@executable} #{"-n" if @nullr} -l#{@ruser} -t#{@to} #{@host} #{@command}" do |io|
|
123
129
|
io.each do |line|
|
124
130
|
yield(line) if block_given?
|
125
131
|
@result << line
|
@@ -128,4 +134,6 @@ class Rsh
|
|
128
134
|
@result
|
129
135
|
end
|
130
136
|
|
137
|
+
alias :execute :execute!
|
138
|
+
|
131
139
|
end
|
data/rsh.gemspec
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rsh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
- 1
|
9
8
|
- 2
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 0.2.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Pavel Argentov
|