expect4r 0.0.4.dev → 0.0.5.dev

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.
data/lib/expect/io.rb CHANGED
@@ -314,15 +314,16 @@ module Expect4r
314
314
  when @more
315
315
  r._io_save no_echo, "matching MORE"
316
316
  putc ' '
317
+ else
318
+ # For objects that include Expect4r but do not subclass base Login class.
319
+ @matches ||= []
320
+ @matches.each { |match, _send|
321
+ if r._io_string =~ match
322
+ r._io_save no_echo, "match #{match}"
323
+ exp_puts _send
324
+ end
325
+ }
317
326
  end
318
-
319
- @matches.each { |match, _send|
320
- if r._io_string =~ match
321
- r._io_save no_echo, "match #{match}"
322
- exp_puts _send
323
- end
324
- }
325
-
326
327
  end
327
328
  end
328
329
  case rc
@@ -431,7 +432,23 @@ module Kernel
431
432
  end
432
433
 
433
434
  module Expect4r
434
- class BaseLoginObject
435
+ class Base
436
+ include Expect4r
437
+ class << self
438
+ attr_reader :routers
439
+ def add(r)
440
+ @routers ||=[]
441
+ @routers << r
442
+ end
443
+ end
444
+ def initialize(*args)
445
+ @matches = Set.new
446
+ Base.add(self)
447
+ self
448
+ end
449
+ end
450
+
451
+ class BaseLoginObject < Base
435
452
  class << self
436
453
  # Examples:
437
454
  # my_mac = RShell.new_telnet '1.1.1.1', 'me', 'secret'
@@ -544,8 +561,8 @@ end
544
561
  if __FILE__ != $0
545
562
 
546
563
  at_exit {
547
- if Expect4r::BaseLoginObject.routers
548
- Expect4r::BaseLoginObject.routers.each { |r| r.logout if r.respond_to? :logout }
564
+ if Expect4r::Base.routers
565
+ Expect4r::Base.routers.each { |r| r.logout if r.respond_to? :logout }
549
566
  end
550
567
  }
551
568
 
@@ -553,21 +570,21 @@ else
553
570
 
554
571
  require "test/unit"
555
572
 
556
- class Expect4r::BaseLoginObject
573
+ class Expect4r::Base
557
574
  def initialize
558
- Expect4r::BaseLoginObject.add(self)
575
+ Expect4r::Base.add(self)
559
576
  end
560
577
  end
561
578
 
562
- class TestRouterBaseLoginObject < Test::Unit::TestCase
579
+ class Base < Test::Unit::TestCase
563
580
  include Expect4r
564
581
 
565
582
  def test_add
566
- assert [], BaseLoginObject.routers
567
- BaseLoginObject.new
568
- assert 1, BaseLoginObject.routers.size
569
- BaseLoginObject.new
570
- assert_equal 2, BaseLoginObject.routers.size
583
+ assert [], Base.routers
584
+ Base.new
585
+ assert 1, Base.routers.size
586
+ Base.new
587
+ assert_equal 2, Base.routers.size
571
588
  end
572
589
  end
573
590
 
data/lib/misc/passwd.rb CHANGED
@@ -1,19 +1,36 @@
1
1
  require 'rubygems'
2
- require 'openssl'
3
- require 'digest/sha1'
4
- module Expect4r
5
- def self.cipher(this, pwd='expect4r')
6
- c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
7
- c.encrypt
8
- c.key = key = Digest::SHA1.hexdigest(pwd)
9
- e = c.update(this)
10
- e << c.final
2
+
3
+ begin
4
+
5
+ require 'openssl'
6
+ require 'digest/sha1'
7
+
8
+ module Expect4r
9
+ def self.cipher(this, pwd='expect4r')
10
+ c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
11
+ c.encrypt
12
+ c.key = key = Digest::SHA1.hexdigest(pwd)
13
+ e = c.update(this)
14
+ e << c.final
15
+ end
16
+ def self.decipher(cipher,pwd='expect4r')
17
+ c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
18
+ c.decrypt
19
+ c.key = key = Digest::SHA1.hexdigest(pwd)
20
+ d = c.update(cipher)
21
+ d << c.final
22
+ end
11
23
  end
12
- def self.decipher(cipher,pwd='expect4r')
13
- c = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
14
- c.decrypt
15
- c.key = key = Digest::SHA1.hexdigest(pwd)
16
- d = c.update(cipher)
17
- d << c.final
24
+
25
+ rescue LoadError => e
26
+
27
+ module Expect4r
28
+ def self.cipher(arg, pwd='')
29
+ arg
30
+ end
31
+ def self.decipher(arg,pwd='')
32
+ arg
33
+ end
18
34
  end
19
- end
35
+
36
+ end
data/lib/misc/shell.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Expect4r
2
- class Shell
3
- include Expect4r
2
+ class Shell < Expect4r::Base
4
3
  def initialize()
4
+ super
5
5
  ENV['PROMPT_COMMAND']="date +%k:%m:%S"
6
6
  ENV['PS1']="shell>"
7
7
  @ps1 = /shell>$/
@@ -13,8 +13,6 @@ module Expect4r
13
13
  end
14
14
  end
15
15
  class RShell < ::Expect4r::BaseLoginObject
16
- include Expect4r
17
-
18
16
  def initialize(*args)
19
17
  super
20
18
  default_ps1
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 4
8
+ - 5
9
9
  - dev
10
- version: 0.0.4.dev
10
+ version: 0.0.5.dev
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jean-Michel Esnault
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-30 00:00:00 -07:00
18
+ date: 2010-11-13 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency