blob: 22d188c4a5cb45d544de1b7cefe38887cfdfa71e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
module Oxidized
class Input
module CLI
def initialize
@post_login = []
@pre_logout = []
@username, @password, @exec = nil
end
def get
connect_cli
d = @node.model.get
disconnect
d
end
def connect_cli
@post_login.each { |command, block| block ? block.call : (cmd command) }
end
def disconnect_cli
@pre_logout.each { |command, block| block ? block.call : (cmd command, nil) }
end
def post_login _post_login=nil, &block
unless @exec
@post_login << [_post_login, block]
end
end
def pre_logout _pre_logout=nil, &block
unless @exec
@pre_logout << [_pre_logout, block]
end
end
def username re=/^(Username|login)/
@username or @username = re
end
def password re=/^Password/
@password or @password = re
end
end
end
end
|