A Mac Address utility that can validate mac address formats and convert strings to valid macs.
Add this line to your application's Gemfile:
gem 'mac_address'
And then execute:
$ bundle
Or install it yourself as:
$ gem install mac_address
MacAddress.new("aa:bb:cc:dd:ee:ff")# => #<MacAddress:0x007fe783981788 @mac_str="aabbccddeeff">MacAddress.new("aa:bb:cc:dd:ee:ff").to_s# => 'aabbccddee'MacAddress.new("invalid mac")# => Raises ArgumentErrorMacAddress.new("aa:bb:cc:dd:ee:ff").to_i# => 187723572702975The MacAddress class will also remove any cruft or extraneous content. If there's a mac to be found, MacAddress will find it:
MacAddress.new("aa:bb:cc:dd:ee:ff:qqqqq")# => #<MacAddress:0x007fe783981788 @mac_str="aabbccddeeff">MacAddress.new("&*^*&(aa:bb:cc:dd:ee:ff:")# => #<MacAddress:0x007fe783981788 @mac_str="aabbccddeeff">'aa:bb:cc:dd:ee:ff'.to_mac# => 'aabbccddeeff''aa:bb:cc:dd:ee:ff:xx'.to_mac# => 'aabbccddeeff'''.to_mac# => Raises ArgumentError'aa:bb:cc:dd:ee:ff'.valid_mac?# => true'aa:bb:cc:dd:ee:ff:*&^*qqqq'.valid_mac?# => true'aabbcc'.valid_mac?# => falseEnable strict mode for validation.
'aa:bb:cc:dd:ee:ff'.valid_mac?(strict: true)# => true'aa:bb:cc:dd:ee:ff:*&^*qqqq'.valid_mac?(strict: true)# => false- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request