Skip to main content

UnnecessaryOSCheck

All Cookstyle Cops


The department is: Chef/Style

The full name of the cop is: Chef/Style/UnnecessaryOSCheck


Enabled by defaultSupports autocorrectionTarget Chef Version
EnabledYesAll Versions

Use the platform_family?() helpers instead of node[‘os] == ‘foo’ for platform_families that match one-to-one with OS values. These helpers are easier to read and can accept multiple platform arguments, which greatly simplifies complex platform logic. All values of os from Ohai match one-to-one with platform_family values except for linux, which has no single equivalent plaform_family.

Examples

incorrect

node['os'] == 'darwin'
node['os'] == 'windows'
node['os'].eql?('aix')
%w(netbsd openbsd freebsd).include?(node['os'])

correct

platform_family?('mac_os_x')
platform_family?('windows')
platform_family?('aix')
platform_family?('netbsd', 'openbsd', 'freebsd)

Configurable attributes

NameDefault valueConfigurable values
Version Added5.21.0String
Exclude
  • **/metadata.rb
  • **/Berksfile
Array

Was this page helpful?