Class: AirportMacChanger::Address

Inherits:
Object
  • Object
show all
Defined in:
lib/airport_mac_changer.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(address = nil) ⇒ Address

Returns a new instance of Address.



12
13
14
# File 'lib/airport_mac_changer.rb', line 12

def initialize(address = nil)
  @address = address || current
end

Instance Attribute Details

#addressObject

Returns the value of attribute address.



6
7
8
# File 'lib/airport_mac_changer.rb', line 6

def address
  @address
end

Class Method Details

.resetObject



38
39
40
41
42
43
44
45
# File 'lib/airport_mac_changer.rb', line 38

def self.reset
  address = new
  puts "Current MAC address: \t#{address}"
  address.renew
  puts "New MAC address: \t#{address}"    
  address.set
  puts "Current MAC address: \t#{new}"
end

Instance Method Details

#currentObject



16
17
18
19
# File 'lib/airport_mac_changer.rb', line 16

def current
  current_mac_str = %x{ifconfig en1 | grep ether}.gsub(/[\W]/,'').gsub('ether','')
  current_mac_int = current_mac_str.to_i(16)
end

#renewObject



28
29
30
# File 'lib/airport_mac_changer.rb', line 28

def renew
  @address += 1
end

#setObject



32
33
34
35
36
# File 'lib/airport_mac_changer.rb', line 32

def set
  command = "sudo ifconfig en1 ether #{self}"
  system command
  sleep(1)
end

#sizeObject



8
9
10
# File 'lib/airport_mac_changer.rb', line 8

def size
  12
end

#to_sObject



21
22
23
24
25
26
# File 'lib/airport_mac_changer.rb', line 21

def to_s
  str = @address.to_s(16)
  left_zeroes = "0" * (12 - str.size)
  str = left_zeroes + str
  str.gsub(/(..)/,"\\1:").gsub(/:\Z/,'')
end