Class: RailsBestPractices::Reviews::IsolateSeedDataReview
- Inherits:
-
Review
- Object
- CodeAnalyzer::Checker
- Core::Check
- Review
- RailsBestPractices::Reviews::IsolateSeedDataReview
- Defined in:
- lib/rails_best_practices/reviews/isolate_seed_data_review.rb
Overview
Make sure not to insert data in migration, move them to seed file.
See the best practice details here rails-bestpractices.com/posts/2010/07/24/isolating-seed-data/
Implementation:
Review process:
1. check all assignment nodes,
if the right value is a call node with message "new",
then remember their left value as new variables.
2. check all call nodes,
if the message is "create" or "create!",
then it should be isolated to db seed.
if the message is "save" or "save!",
and the receiver is included in new variables,
then it should be isolated to db seed.
Constant Summary
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
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ IsolateSeedDataReview
constructor
A new instance of IsolateSeedDataReview.
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, #is_ignored?, #is_interesting_file?, #method_missing, #parse_file?, #regex_ignored_files, #url, url
Constructor Details
#initialize(options = {}) ⇒ IsolateSeedDataReview
Returns a new instance of IsolateSeedDataReview.
27 28 29 30 |
# File 'lib/rails_best_practices/reviews/isolate_seed_data_review.rb', line 27 def initialize( = {}) super() @new_variables = [] end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class RailsBestPractices::Core::Check