X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=3rdparty%2Fmodules%2Fstdlib%2Flib%2Fpuppet%2Fparser%2Ffunctions%2Fis_mac_address.rb;h=ef1fc2059e2a37162b48cf2428a8cfe40132b13b;hb=30caaa85aed7015ca0d77216bff175eebd917eb7;hp=1b3088a26aaa461d7e32c8db08f24f1bab4f159d;hpb=ad88f67c13ae0f1a08936dad643f1e3509ab5f40;p=mirror%2Fdsa-puppet.git diff --git a/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb b/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb index 1b3088a26..ef1fc2059 100644 --- a/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb +++ b/3rdparty/modules/stdlib/lib/puppet/parser/functions/is_mac_address.rb @@ -1,26 +1,28 @@ # # is_mac_address.rb # - module Puppet::Parser::Functions - newfunction(:is_mac_address, :type => :rvalue, :doc => <<-EOS -Returns true if the string passed to this function is a valid mac address. - EOS - ) do |arguments| + newfunction(:is_mac_address, :type => :rvalue, :doc => <<-DOC + @summary + **Deprecated:** Returns true if the string passed to this function is a valid mac address. - if (arguments.size != 1) then - raise(Puppet::ParseError, "is_mac_address(): Wrong number of arguments "+ - "given #{arguments.size} for 1") - end + @return [Boolean] + Returns `true` or `false` - mac = arguments[0] + > **Note:* **Deprecated** Will be removed in a future version of stdlib. See + [`validate_legacy`](#validate_legacy). + DOC + ) do |arguments| - if /^[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}:[a-fA-F0-9]{1,2}$/.match(mac) then - return true - else - return false + if arguments.size != 1 + raise(Puppet::ParseError, "is_mac_address(): Wrong number of arguments given #{arguments.size} for 1") end + mac = arguments[0] + + return true if %r{^[a-f0-9]{1,2}(:[a-f0-9]{1,2}){5}$}i =~ mac + return true if %r{^[a-f0-9]{1,2}(:[a-f0-9]{1,2}){19}$}i =~ mac + return false end end