class Ifconfig

Attributes

interfaces[R]
interfaces_raw[R]
string_raw[R]

Public Class Methods

new(string = '') click to toggle source
# File lib/Unix/Ifconfig.rb, line 9
def initialize(string = '')
  @interfaces_raw = []
  @interfaces = {}
  parse(string) unless string.empty?
end

Public Instance Methods

parse(string) click to toggle source
# File lib/Unix/Ifconfig.rb, line 15
def parse(string)
  @string_raw = string

  interface_raw = ''
  string.each_line do |line|
    next if (line =~ /^\s*$/)
    if (line =~ /^\w+\d+:/)
      @interfaces_raw.push(interface_raw) unless interface_raw.empty?
      interface_raw = line
    else
      interface_raw += line + "\n"
    end
  end
  @interfaces_raw.push(interface_raw) unless interface_raw.empty?

  @interfaces_raw.each do |string|
    interface = Ifconfig_interface.new(string)
    @interfaces[interface.name] = interface
  end
end