Class: RuboCop::Cop::Kata::ConstructorDiscipline

Inherits:
Base
  • Object
show all
Defined in:
lib/rubocop/cop/kata/constructor_discipline.rb

Constant Summary collapse

MSG =
"A constructor assigns; it does not compute. Move `%s` out of `initialize`."
ALLOWED =
%i[raise freeze].freeze

Instance Method Summary collapse

Instance Method Details

#on_def(node) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/rubocop/cop/kata/constructor_discipline.rb', line 8

def on_def(node)
  return unless node.method?(:initialize)
  node.each_descendant(:send) do |send|
    next if ALLOWED.include?(send.method_name)
    add_offense(send, message: format(MSG, send.method_name))
  end
end