Class: RuboCop::Cop::Chef::ChefCorrectness::MetadataMissingName
- Inherits:
-
RuboCop::Cop
- Object
- RuboCop::Cop
- RuboCop::Cop::Chef::ChefCorrectness::MetadataMissingName
- Includes:
- RangeHelp
- Defined in:
- lib/rubocop/cop/chef/correctness/metadata_missing_name.rb
Constant Summary collapse
- MSG =
'metadata.rb needs to include the name method or it will fail on Chef Infra Client 12 and later.'.freeze
Instance Method Summary collapse
Instance Method Details
#autocorrect(_node) ⇒ Object
45 46 47 48 49 50 51 52 53 |
# File 'lib/rubocop/cop/chef/correctness/metadata_missing_name.rb', line 45 def autocorrect(_node) lambda do |_corrector| path = processed_source.path cb_name = File.basename(File.dirname(path)) = IO.read(path) IO.write(path, "name '#{cb_name}'\n" + ) end end |
#investigate(processed_source) ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/rubocop/cop/chef/correctness/metadata_missing_name.rb', line 34 def investigate(processed_source) return if processed_source.blank? # Using range similar to RuboCop::Cop::Naming::Filename (file_name.rb) range = source_range(processed_source.buffer, 1, 0) add_offense(nil, location: range, message: MSG, severity: :refactor) unless cb_name(processed_source.ast).any? end |