Class: RuboCop::Cop::Academia::YAMLLoad
- Inherits:
-
Cop
- Object
- Cop
- RuboCop::Cop::Academia::YAMLLoad
- Defined in:
- lib/rubocop/cop/academia/yaml_load.rb
Constant Summary collapse
- RESTRICT_ON_SEND =
%i[load unsafe_load load_file unsafe_load_file].freeze
- MSG =
'Avoid using %<unsafe_call>s. Use %<safe_call>s instead.'
- UNSAFE_METHODS =
{ 'YAML.load' => 'YAML.safe_load', 'Psych.load' => 'Psych.safe_load', 'YAML.load_file' => 'YAML.safe_load_file', 'Psych.load_file' => 'Psych.safe_load_file', 'YAML.unsafe_load' => 'YAML.safe_load', 'Psych.unsafe_load' => 'Psych.safe_load', 'YAML.unsafe_load_file' => 'YAML.safe_load_file', 'Psych.unsafe_load_file' => 'Psych.safe_load_file', }.freeze
Instance Method Summary collapse
Instance Method Details
#on_send(node) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/rubocop/cop/academia/yaml_load.rb', line 24 def on_send(node) unsafe_yaml_load(node) do |mojule, unsafe_method| unsafe_call = "#{mojule}.#{unsafe_method}" add_offense( node, message: format( MSG, unsafe_call: unsafe_call, safe_call: UNSAFE_METHODS.fetch(unsafe_call), ), ) end end |