xlogin 0.15.9 → 0.16.0
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.
- checksums.yaml +4 -4
- data/lib/xlogin.rb +4 -4
- data/lib/xlogin/factory.rb +1 -1
- data/lib/xlogin/rake_task.rb +15 -20
- data/lib/xlogin/session.rb +4 -4
- data/lib/xlogin/telnet.rb +1 -1
- data/lib/xlogin/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aae85b41321af336f469aa967987f88912d22087748c6b646adb699688c0b17f
|
4
|
+
data.tar.gz: 26dcf9ed1c173bc43d247ab1a1339c8df0586c9734ea0679f5dd5e7fd70bd83a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7eeeecc2b10c5bb0a6bbca0ba80a7b71611cb04733d59271370641930c391aa604bdd06ca96cfbbfad05b32a745d62869688a3e703330a1742f7bab5df5c59c
|
7
|
+
data.tar.gz: a27419c164f9387f8633fa7610c7507d5febd8f9ae1d1d3eb77bf2ab6b04a96133c83e40265192927432b92994c02c3c8386b1088882fc5679041aea9d6f9134
|
data/lib/xlogin.rb
CHANGED
@@ -21,14 +21,14 @@ module Xlogin
|
|
21
21
|
end
|
22
22
|
|
23
23
|
class << self
|
24
|
-
def list(*patterns)
|
25
|
-
factory.list_hostinfo(*patterns)
|
26
|
-
end
|
27
|
-
|
28
24
|
def find(*patterns)
|
29
25
|
list(*patterns).first
|
30
26
|
end
|
31
27
|
|
28
|
+
def list(*patterns)
|
29
|
+
factory.list_hostinfo(*patterns)
|
30
|
+
end
|
31
|
+
|
32
32
|
def get(args, **opts, &block)
|
33
33
|
session = case args
|
34
34
|
when Hash then factory.build(**args.merge(**opts))
|
data/lib/xlogin/factory.rb
CHANGED
@@ -26,7 +26,7 @@ module Xlogin
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def list_hostinfo(*patterns)
|
29
|
-
patterns = patterns.flat_map{ |e| e.split(/\s+/) }
|
29
|
+
patterns = patterns.compact.flat_map{ |e| e.split(/\s+/) }
|
30
30
|
return @inventory.values if patterns.empty?
|
31
31
|
|
32
32
|
values1 = patterns.map do |pattern|
|
data/lib/xlogin/rake_task.rb
CHANGED
@@ -78,41 +78,36 @@ module Xlogin
|
|
78
78
|
|
79
79
|
def run_task
|
80
80
|
buffer = StringIO.new
|
81
|
-
loggers = []
|
82
|
-
loggers << log
|
83
|
-
loggers <<
|
84
|
-
loggers << buffer
|
81
|
+
loggers = [buffer]
|
82
|
+
loggers << log if log
|
83
|
+
loggers << STDOUT if !silent && !Rake.application.options.always_multitask
|
85
84
|
|
86
85
|
session = Xlogin.get(name, log: loggers, timeout: timeout)
|
86
|
+
instance_exec(session, &@runner)
|
87
87
|
|
88
|
-
|
89
|
-
$stdout.print log_text(buffer.string) if !silent && Rake.application.options.always_multitask
|
90
|
-
|
88
|
+
print(buffer.string) if !silent && Rake.application.options.always_multitask
|
91
89
|
return true
|
92
90
|
rescue => e
|
93
91
|
RakeTask.shutdown! if fail_on_error
|
94
92
|
|
95
|
-
session.
|
96
|
-
if Rake.application.options.always_multitask
|
97
|
-
$stderr.print log_text(buffer.string + "\n").colorize(color: :red)
|
98
|
-
end
|
99
|
-
|
93
|
+
session.log_message(e.to_s.colorize(color: :red)) if session
|
94
|
+
print(buffer.string + "\n", color: :red) if Rake.application.options.always_multitask
|
100
95
|
return false
|
101
96
|
ensure
|
102
97
|
session.close rescue nil
|
103
98
|
end
|
104
99
|
|
105
|
-
def
|
106
|
-
text
|
100
|
+
def puts(text, **opt)
|
101
|
+
print(text + "\n", **opt)
|
107
102
|
end
|
108
103
|
|
109
|
-
|
110
|
-
|
111
|
-
module SessionModule
|
104
|
+
def print(text, **opt)
|
105
|
+
return if text.empty?
|
112
106
|
|
113
|
-
|
114
|
-
|
115
|
-
|
107
|
+
text = text.gsub("\r", '')
|
108
|
+
text = text.lines.map{ |line| "#{name}\t|#{line}" }.join if Rake.application.options.always_multitask
|
109
|
+
text = text.colorize(**opt)
|
110
|
+
$stdout.print(text)
|
116
111
|
end
|
117
112
|
|
118
113
|
end
|
data/lib/xlogin/session.rb
CHANGED
@@ -45,7 +45,7 @@ module Xlogin
|
|
45
45
|
rescue => e
|
46
46
|
unless (num_try += 1) > (@config.retry || 0)
|
47
47
|
sleep 2.0 ** (num_try)
|
48
|
-
retry
|
48
|
+
retry
|
49
49
|
end
|
50
50
|
raise e
|
51
51
|
end
|
@@ -84,7 +84,7 @@ module Xlogin
|
|
84
84
|
return waitfor(prompt_pattern) if args.empty?
|
85
85
|
|
86
86
|
line = super(*args) do |recv|
|
87
|
-
|
87
|
+
log_message(recv)
|
88
88
|
block.call(recv) if block
|
89
89
|
end
|
90
90
|
|
@@ -123,11 +123,11 @@ module Xlogin
|
|
123
123
|
end
|
124
124
|
end
|
125
125
|
|
126
|
-
|
127
|
-
def write_log(text)
|
126
|
+
def log_message(text)
|
128
127
|
@loggers.each{ |_, logger| logger.syswrite(text) if logger }
|
129
128
|
end
|
130
129
|
|
130
|
+
private
|
131
131
|
def build_log(log)
|
132
132
|
case log
|
133
133
|
when String
|
data/lib/xlogin/telnet.rb
CHANGED
data/lib/xlogin/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xlogin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.16.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- haccht
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-telnet
|