Class: Aio::Module::Cmd::Cisco::ShowRun

Inherits:
Aio::Module::Cmd::Cisco show all
Includes:
Aio::Module
Defined in:
lib/modules/cmd/cisco/show_run.rb

Instance Attribute Summary

Attributes inherited from Aio::Module::Cmd

#cmd_info, #context, #device_info, #ext_info, #useful, #warning_klass

Instance Method Summary collapse

Methods inherited from Aio::Module::Cmd

#author, #benchmark, #clear_useful, #cmd_full, #cmd_short, #description, #division, #key_stand, #license, #platform, #ranking, #set_defaults, #type

Methods included from Ui::Verbose

#clear_line, #print_error, #print_good, #progress_bar

Constructor Details

#initializeShowRun

Returns a new instance of ShowRun.



8
9
10
11
12
13
14
15
16
17
# File 'lib/modules/cmd/cisco/show_run.rb', line 8

def initialize
  super({
    :cmd_full     => "show run",
    :cmd_short    => "sh run",
    :author       => "Elin",
    :description  => "This is Cisco Command# show run",
    :key_stand    => true,
    :platform     => "all"
  })
end

Instance Method Details

#parseObject

此模块暂时只支持将show run中的接口信息提取出来,不做任何处理



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/modules/cmd/cisco/show_run.rb', line 22

def parse
  context = self.context.dup
  iface_config = {}
  useful[:iface_config] = iface_config

  # NOTE 删除
  context.readline_match_block(/Building configuration/) do |block|
    key_stand_cisco
  end

  context.readline_range_loop(/interface (Fast|Gigabit)Ethernet/, reg_separator) do |cont|
    iface_name = cont.shift.split(' ')[1]
    iface_cont = cont.join("\n")

    iface_config[iface_name] = iface_cont
  end
end