xlogin 0.7.8 → 0.7.11

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 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