rtprov 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: a398e411bb4dad6a5a9d9729fc8c9c7c6c88620836d08eb4edfef767943eea82
4
- data.tar.gz: 6e475a17877c5bab3b6dff77a347582e0ac5d727684584ace3d9b0ad25e5e517
3
+ metadata.gz: a42f3a6c37f9233c1e1fdd92873969d5ed678d6ad27fdfc4fdff77af6227febc
4
+ data.tar.gz: 62605c2099496b32f52fdc46252eb0e520db43aaf9406417ee0946306fe315d6
5
5
  SHA512:
6
- metadata.gz: 45e51ed23305e428916884a2c8dd0512332f1deed16edb25de19ba06e50e62e4be8c25e8e1a21929b84049df6ff6e43e41c221607d5cedc6f7046bef412024bc
7
- data.tar.gz: b1580e8ea6d1580a544c405bbac4f150813492bade5f2f84ca7763a5ec86e1aec0a115651c5346889b78930010ddfdb0883e6fd3f154cd7042205b1abf28dfcd
6
+ metadata.gz: ba354ca8fd48fcedfc6b07ff496843c1c8f23db8d6828cdfb4cc330d4912f2c6bd449986e461ec9d3a56b6cf4982e7625fa7609e7fc7b3ce234355164be7be63
7
+ data.tar.gz: 29dd3afde18056a78e1ce1e9d81896e538ace1b4b604664ac6f67846b62fe91968d05bb9d62db9e3b02665bad115b0757944368642c764b0703d6def1ca60c6b
@@ -1,3 +1,7 @@
1
+ # v0.1.1
2
+
3
+ * support prompt change like 'pp1>' by 'pp select 1'
4
+
1
5
  # v0.1.0
2
6
 
3
7
  * initial release
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rtprov (0.1.0)
4
+ rtprov (0.1.1)
5
5
  reversible_cryptography
6
6
  thor
7
7
 
@@ -4,7 +4,7 @@ require "shellwords"
4
4
 
5
5
  module Rtprov
6
6
  class Session
7
- attr_reader :router, :reader, :writer, :prompt, :prompt_pattern
7
+ attr_reader :router, :reader, :writer, :prompt_prefix, :prompt_pattern
8
8
 
9
9
  def self.start(router, &block)
10
10
  cmd = [
@@ -17,9 +17,9 @@ module Rtprov
17
17
 
18
18
  r.expect(/password/)
19
19
  w.puts router.password
20
- prompt = r.expect(/^(.*>) /)[1]
20
+ prompt_prefix = r.expect(/^(.*)> /)[1]
21
21
 
22
- session = new(router, r, w, prompt)
22
+ session = new(router, r, w, prompt_prefix, ">")
23
23
  session.exec("console character en.ascii")
24
24
  session.exec("console lines infinity") # disable pager
25
25
  session.exec("console columns 200")
@@ -30,12 +30,12 @@ module Rtprov
30
30
  end
31
31
  end
32
32
 
33
- def initialize(router, reader, writer, prompt = ">")
33
+ def initialize(router, reader, writer, prompt_prefix, prompt_suffix)
34
34
  @router = router
35
35
  @reader = reader
36
36
  @writer = writer
37
- @prompt = prompt.dup.freeze
38
- @prompt_pattern = Regexp.compile("^" + Regexp.escape(prompt) + " ").freeze
37
+ @prompt_prefix = prompt_prefix.dup.freeze
38
+ @prompt_pattern = Regexp.compile("^" + Regexp.escape(prompt_prefix) + "[a-z1-9]*" + prompt_suffix + " ").freeze
39
39
  end
40
40
 
41
41
  def exec(cmd)
@@ -58,7 +58,7 @@ module Rtprov
58
58
  reader.expect(/^Administrator Password: /)
59
59
  writer.puts router.administrator_password
60
60
 
61
- writer.puts "console prompt '#{prompt.gsub(/\#$/, "")}'" # load config may change prompt
61
+ writer.puts "console prompt '#{prompt_prefix}'" # load config may change prompt prefix
62
62
  out, * = reader.expect(prompt_pattern)
63
63
 
64
64
  unless out
@@ -76,11 +76,11 @@ module Rtprov
76
76
 
77
77
  begin
78
78
  # set new prompt because default administrator prompt "# " matches config file comment etc.
79
- session = self.class.new(router, reader, writer, "RTPROV#")
79
+ session = self.class.new(router, reader, writer, "RTPROV", "#")
80
80
  session.exec "console prompt RTPROV"
81
81
  block.call(session)
82
82
  ensure
83
- writer.puts "console prompt '#{prompt.gsub(/>$/, "")}'"
83
+ writer.puts "console prompt '#{prompt_prefix}'"
84
84
  reader.expect(/^.*# /)
85
85
  end
86
86
 
@@ -1,3 +1,3 @@
1
1
  module Rtprov
2
- VERSION = "0.1.0".freeze
2
+ VERSION = "0.1.1".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rtprov
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - labocho