Class: MacAddress
- Inherits:
-
Object
- Object
- MacAddress
- Defined in:
- lib/mac_address.rb,
lib/mac_address/version.rb
Constant Summary collapse
- VERSION =
"0.0.3"
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(str) ⇒ MacAddress
constructor
A new instance of MacAddress.
- #to_i ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(str) ⇒ MacAddress
Returns a new instance of MacAddress.
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/mac_address.rb', line 5 def initialize(str) @mac_str = str.strip.dequote.strip n = @mac_str.index(':') if not n.nil? and n >= 12 @mac_str = @mac_str.split(':')[0] end @mac_str = @mac_str.downcase.gsub(/^0[xX]/,'').gsub(/[^0-9a-f]/,'') raise ArgumentError.new("Invalid MAC address: #{str}") if @mac_str.length != 12 end |
Class Method Details
.validate(mac) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/mac_address.rb', line 28 def self.validate(mac) MacAddress.new(mac).to_s true rescue ArgumentError false end |
.validate_strict(mac) ⇒ Object
24 25 26 |
# File 'lib/mac_address.rb', line 24 def self.validate_strict(mac) !!(mac =~ /^([0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2}$/i) end |
Instance Method Details
#to_i ⇒ Object
20 21 22 |
# File 'lib/mac_address.rb', line 20 def to_i @mac_str.hex end |
#to_s ⇒ Object
16 17 18 |
# File 'lib/mac_address.rb', line 16 def to_s @mac_str end |