class QemuToolkit::Network::MacAddress

Public Class Methods

new(address) click to toggle source
# File lib/qemu-toolkit/network/mac_address.rb, line 3
def initialize address
  @address = normalize(address)
end

Public Instance Methods

==(other) click to toggle source
# File lib/qemu-toolkit/network/mac_address.rb, line 26
def == other
  self.to_s == other.to_s
end
normalize(str) click to toggle source
# File lib/qemu-toolkit/network/mac_address.rb, line 7
def normalize str
  elements = str.split(':')

  fail "Malformed MAC address: not enough or too many elements (should == 6, was #{elements.size})." \
    unless elements.size == 6

  elements.map { |n|
    n.downcase!
    case n.size
      when 1
        '0' + n
      when 2
        n
    else
      fail "Malformed MAC address: #{str}; should have 6 elements with max. 2 digits."
    end
  }.join(':')
end
to_s() click to toggle source
# File lib/qemu-toolkit/network/mac_address.rb, line 30
def to_s
  @address
end