xlogin 0.5.9 → 0.5.10

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: 5742f26a175da199356781f6b0f098533aaa2acf
4
- data.tar.gz: 61694269069e235f3c5024f1be88682a32dcd9c4
3
+ metadata.gz: 74571de0b0cfd2927444299ac5501950732998f9
4
+ data.tar.gz: c123722cc6b42fa4bde1f52ae0ca0815987ac4bf
5
5
  SHA512:
6
- metadata.gz: fdd07176cf852b39f1c1d123a5f347cb0913e0d54c5f1bceb30e963e27e163a7b52d52560d654b3c72f1b35bd6d8626b2f8ba71d2a3ca71601c3aa176930672c
7
- data.tar.gz: b926e383726dfe008ad4c6f2942896eca461cb5f96e9e49b9dfb87ecff5fa955b4e25e5c2b1ff2b72715b2603a61f54e74cd699aedfd7ca75286f1a566bf17f8
6
+ metadata.gz: be01886a787bc8f6ee0b60affbc977d7941bcf8049054948dc6a7e97b92e984b92481c0ae2b3c03d8af6b611ac32a422e3f33fe95dc8b339f977215f2e2c7a52
7
+ data.tar.gz: 6fa942ccb22a3c6e99f6b4455e360b6ac457a01b24ddb507154c94fafcab38bf5042bb675c15b3d5e9d0fe6224e99d91871fad49c5414f0f816721c8237595a6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- xlogin (0.5.9)
4
+ xlogin (0.5.10)
5
5
  net-ssh
6
6
  net-ssh-gateway
7
7
  net-ssh-telnet
data/lib/xlogin.rb CHANGED
@@ -71,10 +71,6 @@ module Xlogin
71
71
  factory.set_template(name, template)
72
72
  end
73
73
 
74
- def alias(new_name, name)
75
- factory.alias_template(new_name, name)
76
- end
77
-
78
74
  end
79
75
 
80
76
  end
@@ -11,7 +11,6 @@ module Xlogin
11
11
  def initialize
12
12
  @database = Hash.new
13
13
  @templates = Hash.new
14
- @aliases = Hash.new
15
14
  @group = nil
16
15
  end
17
16
 
@@ -19,28 +18,24 @@ module Xlogin
19
18
  files.each do |file|
20
19
  file = File.expand_path(file)
21
20
  next unless File.exist?(file) && file =~ /.rb$/
22
- require file
21
+
22
+ name = File.basename(file, '.rb').scan(/\w+/).join.downcase
23
+ Xlogin.configure(name) { |firmware| firmware.instance_eval(IO.read(file)) }
23
24
  end
24
25
  end
25
26
 
26
27
  def get_template(name)
27
- name = @aliases[name.to_s.downcase] || name.to_s.downcase
28
- @templates[name]
28
+ @templates[name.to_s.downcase]
29
29
  end
30
30
 
31
31
  def set_template(name, template)
32
- name = @aliases[name.to_s.downcase] || name.to_s.downcase
33
- @templates[name] = template
32
+ @templates[name.to_s.downcase] = template
34
33
  end
35
34
 
36
35
  def list_templates
37
36
  @templates.keys
38
37
  end
39
38
 
40
- def alias_template(new_name, name)
41
- @aliases[new_name.to_s.downcase] = name.to_s.downcase
42
- end
43
-
44
39
  def source(file)
45
40
  file = File.expand_path(file)
46
41
  return unless File.exist?(file)
@@ -1,18 +1,16 @@
1
- Xlogin.configure :ios do |os|
2
- os.timeout(300)
3
- os.prompt(/[>$#]/)
4
- os.prompt(/yes \/ no: /) do
5
- puts (Xlogin.authorized?)? 'y' : 'n'
6
- end
1
+ timeout(300)
2
+ prompt(/[>$#]/)
3
+ prompt(/yes \/ no: /) do
4
+ puts (Xlogin.authorized?)? 'y' : 'n'
5
+ end
7
6
 
8
- os.bind(:login) do |password|
9
- waitfor(/Password: /) && puts(password)
10
- waitfor
11
- end
7
+ bind(:login) do |password|
8
+ waitfor(/Password: /) && puts(password)
9
+ waitfor
10
+ end
12
11
 
13
- os.bind(:enable) do |password|
14
- puts('enable')
15
- waitfor(/Password: /) && puts(password)
16
- waitfor
17
- end
12
+ bind(:enable) do |password|
13
+ puts('enable')
14
+ waitfor(/Password: /) && puts(password)
15
+ waitfor
18
16
  end
@@ -1,21 +1,19 @@
1
- Xlogin.configure :iosxr do |os|
2
- os.timeout(300)
3
- os.prompt(/#\z/)
1
+ timeout(300)
2
+ prompt(/#\z/)
4
3
 
5
- os.bind(:login) do |*args|
6
- username, password = *args
7
- waitfor(/Username: /) && puts(username)
8
- waitfor(/Password: /) && puts(password)
9
- waitfor
10
- end
11
-
12
- os.hook do |command|
13
- if command =~ /^(?:adm |admi |admin )?\s*(?:con|rel|red|cle|hw|ro)/
14
- # commands: configure, reload, redundancy, clear, hw-module, rollback
15
- # with or without admin prefix is prihibited if not authorized.
16
- raise Xlogin::AuthorizationError.new("prohibited command: #{command}") unless Xlogin.authorized?
17
- end
4
+ bind(:login) do |*args|
5
+ username, password = *args
6
+ waitfor(/Username: /) && puts(username)
7
+ waitfor(/Password: /) && puts(password)
8
+ waitfor
9
+ end
18
10
 
19
- pass(command)
11
+ hook do |command|
12
+ if command =~ /^(?:adm |admi |admin )?\s*(?:con|rel|red|cle|hw|ro)/
13
+ # commands: configure, reload, redundancy, clear, hw-module, rollback
14
+ # with or without admin prefix is prihibited if not authorized.
15
+ raise Xlogin::AuthorizationError.new("prohibited command: #{command}") unless Xlogin.authorized?
20
16
  end
17
+
18
+ pass(command)
21
19
  end
@@ -1,11 +1,9 @@
1
- Xlogin.configure :junos do |os|
2
- os.timeout(300)
3
- os.prompt(/[>#] \z/)
1
+ timeout(300)
2
+ prompt(/[>#] \z/)
4
3
 
5
- os.bind(:login) do |*args|
6
- username, password = *args
7
- waitfor(/login:\s/) && puts(username)
8
- waitfor(/Password:/) && puts(password)
9
- waitfor
10
- end
4
+ bind(:login) do |*args|
5
+ username, password = *args
6
+ waitfor(/login:\s/) && puts(username)
7
+ waitfor(/Password:/) && puts(password)
8
+ waitfor
11
9
  end
@@ -1,20 +1,18 @@
1
- Xlogin.configure :sros do |os|
2
- os.timeout(300)
3
- os.prompt(/[>$#] /)
4
- os.prompt(/y\/n:/) do
5
- puts (Xlogin.authorized?)? 'y' : 'n'
6
- end
1
+ timeout(300)
2
+ prompt(/[>$#] /)
3
+ prompt(/y\/n:/) do
4
+ puts (Xlogin.authorized?)? 'y' : 'n'
5
+ end
7
6
 
8
- os.bind(:login) do |*args|
9
- username, password = *args
10
- waitfor(/Login:\s?/) && puts(username)
11
- waitfor(/Password:\s?/) && puts(password)
12
- waitfor
13
- end
7
+ bind(:login) do |*args|
8
+ username, password = *args
9
+ waitfor(/Login:\s?/) && puts(username)
10
+ waitfor(/Password:\s?/) && puts(password)
11
+ waitfor
12
+ end
14
13
 
15
- os.bind(:enable_admin) do |password|
16
- puts('enable-admin')
17
- waitfor(/Password:\s?/) && puts(password)
18
- waitfor
19
- end
14
+ bind(:enable_admin) do |password|
15
+ puts('enable-admin')
16
+ waitfor(/Password:\s?/) && puts(password)
17
+ waitfor
20
18
  end
@@ -1,10 +1,8 @@
1
- Xlogin.configure :vyos do |os|
2
- os.prompt(/[$#] (?:\e\[K)?\z/n)
1
+ prompt(/[$#] (?:\e\[K)?\z/n)
3
2
 
4
- os.bind(:login) do |*args|
5
- username, password = *args
6
- waitfor(/login:\s/) && puts(username)
7
- waitfor(/Password:\s/) && puts(password)
8
- waitfor
9
- end
3
+ bind(:login) do |*args|
4
+ username, password = *args
5
+ waitfor(/login:\s/) && puts(username)
6
+ waitfor(/Password:\s/) && puts(password)
7
+ waitfor
10
8
  end
@@ -1,3 +1,3 @@
1
1
  module Xlogin
2
- VERSION = "0.5.9"
2
+ VERSION = "0.5.10"
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.5.9
4
+ version: 0.5.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - haccht
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-15 00:00:00.000000000 Z
11
+ date: 2017-09-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-telnet