xlogin 0.7.8 → 0.7.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3e899806293bae462ec44aa3d981d4a56901ff9b
4
- data.tar.gz: 8eb1dcfaa353557a891334df4a9378a25752aa6d
3
+ metadata.gz: 16ee3834f35038d07a026c8a7a75cdd9c5b7e073
4
+ data.tar.gz: cad0b549fc1ddc90867e2013c3257ad18fed5ec0
5
5
  SHA512:
6
- metadata.gz: be071c6557ba454f789db96bb4eecc0591ee194362d1cd1b84fe6f35d043466150c698ca4519f17c97a45aa7ef0850197b47abc9103255b092358aace17acf44
7
- data.tar.gz: e4ac69529298a51f8c79ce9b2c03da294aa83cff710ce2635751b03556392ab9c4f4dbeee1e54b7e3aeec5b293515d0d3d41be037c2811ae2c2135a315d0e3f0
6
+ metadata.gz: 6adaa86538aaa1fd7c5fa59b951ec80221dd58b1348ac0b30e2a9c7ad58ab6d28ad48a00caf40e4310f0a32ba6cd3b67869c0041d0fc22997a3662de14142f51
7
+ data.tar.gz: 2e39a4485161afdcdec728d35035473632220fd673abe15feace7def8411a65729a855f555fe44beabaded183df1c8f00e5a700f2f58e27cbd1974bc71188b6f
@@ -69,8 +69,6 @@ module Xlogin
69
69
  Xlogin.configure { template_dir } if @templates.empty?
70
70
 
71
71
  template = get_template(type)
72
- raise Xlogin::TemplateError.new("Template not found: '#{type}'") unless template
73
-
74
72
  template.build(uri, **opts)
75
73
  end
76
74
 
@@ -61,8 +61,8 @@ module Xlogin
61
61
  cmd('').lines.last.chomp
62
62
  end
63
63
 
64
- def cmd(*args)
65
- @mutex.synchronize { super(*args) }
64
+ def cmd(*args, &block)
65
+ @mutex.synchronize { super(*args, &block) }
66
66
  end
67
67
 
68
68
  def puts(*args, &block)
@@ -71,21 +71,20 @@ module Xlogin
71
71
  end
72
72
 
73
73
  def waitfor(*args, &block)
74
+ line = ''
74
75
  return waitfor(Regexp.union(*@template.prompt.map(&:first)), &block) if args.empty?
75
76
 
76
- line = super(*args) do |recvdata|
77
- output_log(recvdata, &block)
78
- end
77
+ line = super(*args, &block)
79
78
 
80
79
  _, process = @template.prompt.find { |r, p| r =~ line && p }
81
80
  if process
82
81
  instance_eval(&process)
83
82
  line += waitfor(*args, &block)
84
83
  end
85
-
86
- line
87
84
  rescue EOFError
88
85
  @closed = true
86
+ ensure
87
+ return line
89
88
  end
90
89
 
91
90
  def close
@@ -142,8 +141,7 @@ module Xlogin
142
141
  end
143
142
  end
144
143
 
145
- def output_log(text, &block)
146
- block.call(text) if block
144
+ def output_log(text)
147
145
  @output_loggers.each do |_, logger|
148
146
  next unless logger
149
147
  logger.syswrite(text)
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.7.8"
2
+ VERSION = "0.7.11"
3
3
  end
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.7.8
4
+ version: 0.7.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-07 00:00:00.000000000 Z
11
+ date: 2018-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet
@@ -178,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
178
178
  version: '0'
179
179
  requirements: []
180
180
  rubyforge_project:
181
- rubygems_version: 2.4.3
181
+ rubygems_version: 2.4.5.2
182
182
  signing_key:
183
183
  specification_version: 4
184
184
  summary: rancid clogin alternative