rtprov 0.1.0 → 0.1.1

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