Class: Simplabs::Excellent::Checks::Rails::CustomInitializeMethodCheck
- Defined in:
- lib/simplabs/excellent/checks/rails/custom_initialize_method_check.rb
Overview
This check reports ActiveRecord models that define a custom initialize method. Since ActiveRecord does not always call new to create instances, these custom initialize methods might not always be called, which makes the behavior of the application very hard to understand.
Applies to
-
ActiveRecordmodels
Instance Attribute Summary
Attributes inherited from Base
#interesting_files, #interesting_nodes, #warnings
Instance Method Summary collapse
-
#evaluate(context) ⇒ Object
:nodoc:.
-
#initialize ⇒ CustomInitializeMethodCheck
constructor
:nodoc:.
Methods inherited from Base
#add_warning, #evaluate_node, #warnings_for
Constructor Details
#initialize ⇒ CustomInitializeMethodCheck
:nodoc:
20 21 22 23 |
# File 'lib/simplabs/excellent/checks/rails/custom_initialize_method_check.rb', line 20 def initialize #:nodoc: super @interesting_nodes = [:class] end |
Instance Method Details
#evaluate(context) ⇒ Object
:nodoc:
25 26 27 |
# File 'lib/simplabs/excellent/checks/rails/custom_initialize_method_check.rb', line 25 def evaluate(context) #:nodoc: add_warning(context, '{{class}} defines initialize method.', { :class => context.full_name }) if context.active_record_model? && !context.defines_initializer? end |