ruby_expect 1.7.3 → 1.7.4

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: 7d6b318f81f84c817eed5c819a2be81f935eb267
4
- data.tar.gz: f7cc87f01c9d49e2c81d451572c6c0b4805500d8
3
+ metadata.gz: 81ae9b14b956734e8da1670eddd7670fb9b56a1b
4
+ data.tar.gz: 9a66c895fc337a6aad9ffb262b0fd6789f9f0dcd
5
5
  SHA512:
6
- metadata.gz: 5be3b823a48dbab9075936c9ed8a1fb38a4e789b8d4cf135e7538f99917ffc7a279e63daf76eb1abce1cfd4a069b04226a5f253e7a83aad443e47b73557c0fde
7
- data.tar.gz: 7ffbd78c6b779042169e430a8732924b2dcc9ffc1685cb465fabbaa8143b773584ebff1b12d7b82d2278f93def350f1b03304177da179770c87452a405d51c25
6
+ metadata.gz: bded1369bd44f3ad4028ba6fad6e1238527ba04fa958a0f817c93ddadb8fdd59a5332ee24d2c5084f31ea5a1cb18bedea5626c1dd8439b0f2e0670c480cd5d68
7
+ data.tar.gz: b0e4f6871dca5d289277dd7acaea524908a711ae9f5d774babd369fb77e20bd816e8ca3ba492cf71217d5bdae2509b025bfa5bb9d63bfa318c5fe349e025c873
@@ -105,6 +105,7 @@ module RubyExpect
105
105
  end
106
106
 
107
107
  @buffer = ''
108
+ @log_buffer = ''
108
109
  @before = ''
109
110
  @match = ''
110
111
  @timeout = 0
@@ -257,7 +258,7 @@ module RubyExpect
257
258
  # end
258
259
  #
259
260
  def expect *patterns, &block
260
- @logger.debug("Expecting #{patterns.inspect}") if @logger.debug?
261
+ @logger.debug("Expecting: #{patterns.inspect}") if @logger.debug?
261
262
  patterns = pattern_escape(*patterns)
262
263
  @end_time = 0
263
264
  if (@timeout != 0)
@@ -272,7 +273,8 @@ module RubyExpect
272
273
  @last_match = nil
273
274
  patterns.each_index do |i|
274
275
  if (match = patterns[i].match(@buffer))
275
- @logger.debug("Matched #{match}") if @logger.debug?
276
+ log_buffer(true)
277
+ @logger.debug(" Matched: #{match}") if @logger.debug?
276
278
  @last_match = match
277
279
  @before = @buffer.slice!(0...match.begin(0))
278
280
  @match = @buffer.slice!(0...match.to_s.length)
@@ -323,6 +325,22 @@ module RubyExpect
323
325
  end
324
326
 
325
327
  private
328
+ def log_buffer incomplete_lines=false
329
+ return unless @logger.info?
330
+ if @log_buffer =~ /[\r\n]/
331
+ lines = @log_buffer.split(/[\r\n]+/, -1)
332
+ @log_buffer = lines.pop
333
+ lines.each do |line|
334
+ @logger.info(" Received: #{line.scan(/[[:print:]]/).join}")
335
+ end
336
+ end
337
+
338
+ if incomplete_lines and @log_buffer !~ /^\s*$/
339
+ @logger.info(" Received: #{@log_buffer.scan(/[[:print:]]/).join}")
340
+ @log_buffer = ''
341
+ end
342
+ end
343
+
326
344
  def interact_loop stdin
327
345
  done = false
328
346
  while (! done)
@@ -359,7 +377,10 @@ module RubyExpect
359
377
  else
360
378
  input = @read_fh.readpartial(4096)
361
379
  @buffer << input
362
- @logger.info(input) if (@logger.info?)
380
+ if @logger.info?
381
+ @log_buffer << input
382
+ log_buffer
383
+ end
363
384
  end
364
385
  end
365
386
  rescue EOFError => e
@@ -1,3 +1,3 @@
1
1
  module RubyExpect
2
- VERSION = "1.7.3"
2
+ VERSION = "1.7.4"
3
3
  end
data/ruby_expect.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: ruby_expect 1.7.3 ruby lib
2
+ # stub: ruby_expect 1.7.4 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "ruby_expect"
6
- s.version = "1.7.3"
6
+ s.version = "1.7.4"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_expect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.3
4
+ version: 1.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Bates