class RuboCop::Cop::Chef::Correctness::TmpPath
Use file_cache_path rather than hard-coding system temp paths
@example downloading a large file into /tmp/
### incorrect remote_file '/tmp/large-file.tar.gz' do ### correct remote_file "#{Chef::Config[:file_cache_path]}/large-file.tar.gz" do
Constants
- MSG
- RESTRICT_ON_SEND
Public Instance Methods
Source
# File lib/rubocop/cop/chef/correctness/tmp_path.rb, line 51 def file_cache_path?(path) path_str = path.to_s.scan(/"(.*)"/)[0][0] path_str.start_with?("\#{Chef::Config[:file_cache_path]}") end
Source
# File lib/rubocop/cop/chef/correctness/tmp_path.rb, line 46 def hardcoded_tmp?(path) path_str = path.to_s.scan(/"(.*)"/)[0][0] path_str.start_with?('/tmp/') end
Source
# File lib/rubocop/cop/chef/correctness/tmp_path.rb, line 39 def on_send(node) remote_file?(node) do |command| return unless hardcoded_tmp?(command) && !file_cache_path?(command) add_offense(command, severity: :refactor) end end