@@ -56,7 +56,7 @@ def on_supported_os(opts = {})
5656 #
5757 # @api private
5858 def on_supported_os_implementation ( opts = { } )
59- unless ( facterversion = opts [ :facterversion ] ) =~ /\A \d +\. \d +(?:\. \d +)*\z /
59+ unless /\A \d +\. \d +(?:\. \d +)*\z / . match? ( ( facterversion = opts [ :facterversion ] ) )
6060 raise ArgumentError , ":facterversion must be in the format 'n.n' or " \
6161 "'n.n.n' (n is numeric), not '#{ facterversion } '"
6262 end
@@ -68,19 +68,20 @@ def on_supported_os_implementation(opts = {})
6868 opts [ :hardwaremodels ] . each do |hardwaremodel |
6969
7070 os_release_filter = "/^#{ Regexp . escape ( operatingsystemmajrelease . split ( ' ' ) [ 0 ] ) } /"
71- if os_sup [ 'operatingsystem' ] =~ /BSD/i
71+ case os_sup [ 'operatingsystem' ]
72+ when /BSD/i
7273 hardwaremodel = 'amd64'
73- elsif os_sup [ 'operatingsystem' ] =~ /Solaris/i
74+ when /Solaris/i
7475 hardwaremodel = 'i86pc'
75- elsif os_sup [ 'operatingsystem' ] =~ /AIX/i
76+ when /AIX/i
7677 hardwaremodel = '/^IBM,.*/'
7778 os_release_filter = if operatingsystemmajrelease =~ /\A (\d +)\. (\d +)\Z /
7879 "/^#{ $~[ 1 ] } #{ $~[ 2 ] } 00-/"
7980 else
8081 "/^#{ operatingsystemmajrelease } -/"
8182 end
82- elsif os_sup [ 'operatingsystem' ] =~ /Windows/i
83- hardwaremodel = facterversion =~ /^[12]\. / ? 'x64' : 'x86_64'
83+ when /Windows/i
84+ hardwaremodel = /^[12]\. / . match? ( facterversion ) ? 'x64' : 'x86_64'
8485 os_sup [ 'operatingsystem' ] = os_sup [ 'operatingsystem' ] . downcase
8586 operatingsystemmajrelease = operatingsystemmajrelease [ /\A (?:Server )?(.+)/i , 1 ]
8687
@@ -90,7 +91,7 @@ def on_supported_os_implementation(opts = {})
9091 if operatingsystemmajrelease == '2016' && Puppet ::Util ::Package . versioncmp ( facterversion , '3.4' ) < 0
9192 os_release_filter = '/^10\\.0\\./'
9293 end
93- elsif os_sup [ 'operatingsystem' ] =~ /Amazon/i
94+ when /Amazon/i
9495 # Tighten the regex for Amazon Linux 2 so that we don't pick up Amazon Linux 2016 or 2017 facts
9596 os_release_filter = "/^2$/" if operatingsystemmajrelease == '2'
9697 end
0 commit comments