class AutoNic

Attributes

macaddr[RW]

Public Class Methods

new() click to toggle source
# File lib/autonic.rb, line 8
def initialize
  @consonants = "bcdfghjklmnpqrstvwxyz"
  @vowels = "aeiou"

  @combos = []
  @consonants.each_char do |con|
    @vowels.each_char do |vow|
      @combos << con+vow
    end
  end
  @macaddr = Mac.addr
end

Public Instance Methods

cleanName(n) click to toggle source
# File lib/autonic.rb, line 37
def cleanName(n)
  return n.gsub("- ", '-').gsub(" -", ' ').gsub("--", '-').strip().gsub(/-$/, '')
end
macAddrToName() click to toggle source
# File lib/autonic.rb, line 41
def macAddrToName
  name = " "
  x = @macaddr.gsub(/[-: ]/, '')
  while x.length > 0 do
    tup = popHexPair(x)
    n = tup[:num]
    syllable = ''
    if(n < @combos.length)
      syllable = @combos[n]
    else
      if (n/2 < @combos.length)
        if (n%3 == 0)
          syllable = @combos[n/2] + ' '
        elsif (n%2 == 0)
          syllable = @combos[n/2]
        end
      else
        syllable = ' '
      end
    end
    name = name + syllable
    x = tup[:rest]
  end
  sname = name.upcase.split /\s+/
  capname = sname.join(' ')
  return cleanName(capname)
end
name() click to toggle source
# File lib/autonic.rb, line 21
def name
  macAddrToName.downcase.gsub(' ', '_')
end
popHexPair(s) click to toggle source
# File lib/autonic.rb, line 25
def popHexPair(s)
  if s.length < 3
    num = s.to_i(16)
    rest = ""
  else
    num = s[0..1].to_i(16)
    rest = s[2..s.length]
  end
  return :num => num, :rest => rest
end