class Aio::Module::Cmd::Maipu::ShowIpInterfaceBrief
Public Class Methods
new()
click to toggle source
Calls superclass method
Aio::Module::Cmd::new
# File lib/modules/cmd/maipu/show_ip_interface_brief.rb, line 8 def initialize super({ :cmd_full => "show ip interface brief", :cmd_short => "sh ip int b", :author => "Elin", :description => "This is Maipu Command# show ip interface brief", :ranking => Ranking_1, :platform => RS, :benchmark => { } }) end
Public Instance Methods
parse()
click to toggle source
# File lib/modules/cmd/maipu/show_ip_interface_brief.rb, line 20 def parse context = self.context.dup useful[:interface_brief] = {} context.readline_match_block(/Interface IP-Address Status Protocol Description/) {|b|b} context.readline_match_block_loop(/(?<interface_id>[^\s]+) (?<ip>[^\s]+) (?<status>[^\s]+) (?<protocol_description>[^\s].*)/, reg_blank) do |block| iface = {} iface_id = block[:interface_id] useful[:interface_brief][iface_id.to_sym] = iface protocol, description = block[:protocol_description].split(' ', 2) block.update(iface, :interface_id) block.update(iface, :ip) block.update(iface, :status) block.update(iface, :protocol, protocol) block.update(iface, :description, description.to_s) # 当状态是起来的,但是协议为Down,则纳入警告 if (block[:status] =~ /up/) and !(protocol =~ /up/) block.warning_serious(iface, :protocol, self, {string: protocol, force: true}) else block.warning_serious(iface, :protocol, self, {string: protocol, force: false}) end end end