class RuboCop::Cop::Chef::Modernize::ShellOutToChocolatey
Use the Chocolatey resources built into Chef
Infra Client instead of shelling out to the choco command
@example
### incorrect execute 'install package foo' do command "choco install --source=artifactory \"foo\" -y --no-progress --ignore-package-exit-codes" end powershell_script 'add artifactory choco source' do code "choco source add -n=artifactory -s='https://mycorp.jfrog.io/mycorp/api/nuget/chocolatey-remote' -u foo -p bar"x not_if 'choco source list | findstr artifactory' end
Constants
- MSG
Public Instance Methods
Source
# File lib/rubocop/cop/chef/modernize/shellouts_to_chocolatey.rb, line 41 def on_block(node) match_property_in_resource?(:powershell_script, 'code', node) do |code_property| property_data = method_arg_ast_to_string(code_property) next unless property_data && property_data.match?(/^choco /i) add_offense(node, severity: :refactor) end match_property_in_resource?(:execute, 'command', node) do |code_property| property_data = method_arg_ast_to_string(code_property) next unless property_data && property_data.match?(/^choco /i) add_offense(node, severity: :refactor) end end