Class: RailsBestPractices::Reviews::UseQueryAttributeReview
- Inherits:
-
Review
- Object
- CodeAnalyzer::Checker
- Core::Check
- Review
- RailsBestPractices::Reviews::UseQueryAttributeReview
- Defined in:
- lib/rails_best_practices/reviews/use_query_attribute_review.rb
Overview
Make sure to use query attribute instead of nil?, blank? and present?.
See the best practice details here rails-bestpractices.com/posts/2010/10/03/use-query-attribute/
Implementation:
Review process:
check all method calls within conditional statements, like @user.login.nil?
if their receivers are one of the model names
and their messages of first call are not pluralize and not in any of the association names
and their messages of second call are one of nil?, blank?, present?, or they are == ""
then you can use query attribute instead.
Constant Summary collapse
- QUERY_METHODS =
%w[nil? blank? present?].freeze
Constants inherited from Core::Check
Core::Check::ALL_FILES, Core::Check::CAPFILE, Core::Check::CONFIG_FILES, Core::Check::CONTROLLER_FILES, Core::Check::DEPLOY_FILES, Core::Check::GEMFILE_LOCK, Core::Check::HELPER_FILES, Core::Check::INITIALIZER_FILES, Core::Check::MAILER_FILES, Core::Check::MIGRATION_FILES, Core::Check::MODEL_FILES, Core::Check::PARTIAL_VIEW_FILES, Core::Check::ROUTE_FILES, Core::Check::SCHEMA_FILE, Core::Check::SKIP_FILES, Core::Check::VIEW_FILES
Method Summary
Methods inherited from Review
#model_associations, #model_attributes, #models, #remember_variable_use_count, #reset_variable_use_count, #variable, #variable_use_count
Methods inherited from Core::Check
#add_error, debug, debug?, #errors, #initialize, #is_ignored?, #is_interesting_file?, #method_missing, #parse_file?, #regex_ignored_files, #url, url
Constructor Details
This class inherits a constructor from RailsBestPractices::Core::Check
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class RailsBestPractices::Core::Check