Class: RuboCop::Cop::Primer::ComponentNameMigration

Inherits:
BaseCop
  • Object
show all
Defined in:
lib/rubocop/cop/primer/component_name_migration.rb

Overview

This cop ensures that components don’t use deprecated component names

bad Primer::ComponentNameComponent.new()

good Primer::Beta::ComponentName.new()

Constant Summary collapse

DEPRECATIONS =
{
  "Primer::TestComponent" => "Primer::Beta::Test"
}.freeze

Instance Method Summary collapse

Methods inherited from BaseCop

#valid_node?

Instance Method Details

#autocorrect(node) ⇒ Object



27
28
29
30
31
# File 'lib/rubocop/cop/primer/component_name_migration.rb', line 27

def autocorrect(node)
  lambda do |corrector|
    corrector.replace(node, DEPRECATIONS[node.const_name])
  end
end

#on_send(node) ⇒ Object



21
22
23
24
25
# File 'lib/rubocop/cop/primer/component_name_migration.rb', line 21

def on_send(node)
  return unless node.method_name == :new && !node.receiver.nil? && DEPRECATIONS.key?(node.receiver.const_name)

  add_offense(node.receiver, message: "Don't use deprecated names")
end