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