rails_best_practices 1.19.1 → 1.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/CHANGELOG.md +5 -0
 - data/Guardfile +1 -1
 - data/README.md +1 -0
 - data/Rakefile +2 -2
 - data/bin/rails_best_practices +2 -1
 - data/lib/rails_best_practices.rb +2 -1
 - data/lib/rails_best_practices/analyzer.rb +13 -12
 - data/lib/rails_best_practices/colorize.rb +2 -0
 - data/lib/rails_best_practices/command.rb +6 -5
 - data/lib/rails_best_practices/core.rb +2 -1
 - data/lib/rails_best_practices/core/check.rb +19 -17
 - data/lib/rails_best_practices/core/checks_loader.rb +3 -2
 - data/lib/rails_best_practices/core/configs.rb +2 -1
 - data/lib/rails_best_practices/core/controllers.rb +4 -1
 - data/lib/rails_best_practices/core/error.rb +3 -2
 - data/lib/rails_best_practices/core/gems.rb +4 -3
 - data/lib/rails_best_practices/core/helpers.rb +4 -1
 - data/lib/rails_best_practices/core/klasses.rb +3 -2
 - data/lib/rails_best_practices/core/mailers.rb +2 -1
 - data/lib/rails_best_practices/core/methods.rb +9 -10
 - data/lib/rails_best_practices/core/model_associations.rb +6 -5
 - data/lib/rails_best_practices/core/model_attributes.rb +2 -1
 - data/lib/rails_best_practices/core/models.rb +2 -1
 - data/lib/rails_best_practices/core/modules.rb +2 -1
 - data/lib/rails_best_practices/core/routes.rb +2 -1
 - data/lib/rails_best_practices/core/runner.rb +7 -6
 - data/lib/rails_best_practices/core_ext/erubis.rb +4 -5
 - data/lib/rails_best_practices/lexicals.rb +2 -1
 - data/lib/rails_best_practices/lexicals/long_line_check.rb +2 -1
 - data/lib/rails_best_practices/lexicals/remove_tab_check.rb +2 -1
 - data/lib/rails_best_practices/lexicals/remove_trailing_whitespace_check.rb +2 -1
 - data/lib/rails_best_practices/prepares.rb +2 -1
 - data/lib/rails_best_practices/prepares/config_prepare.rb +3 -2
 - data/lib/rails_best_practices/prepares/controller_prepare.rb +9 -8
 - data/lib/rails_best_practices/prepares/gemfile_prepare.rb +2 -1
 - data/lib/rails_best_practices/prepares/helper_prepare.rb +4 -3
 - data/lib/rails_best_practices/prepares/initializer_prepare.rb +2 -1
 - data/lib/rails_best_practices/prepares/mailer_prepare.rb +3 -2
 - data/lib/rails_best_practices/prepares/model_prepare.rb +12 -12
 - data/lib/rails_best_practices/prepares/route_prepare.rb +8 -7
 - data/lib/rails_best_practices/prepares/schema_prepare.rb +3 -2
 - data/lib/rails_best_practices/reviews.rb +2 -1
 - data/lib/rails_best_practices/reviews/add_model_virtual_attribute_review.rb +7 -4
 - data/lib/rails_best_practices/reviews/always_add_db_index_review.rb +8 -7
 - data/lib/rails_best_practices/reviews/check_destroy_return_value_review.rb +4 -3
 - data/lib/rails_best_practices/reviews/check_save_return_value_review.rb +5 -4
 - data/lib/rails_best_practices/reviews/default_scope_is_evil_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/dry_bundler_in_capistrano_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/hash_syntax_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/isolate_seed_data_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/keep_finders_on_their_own_model_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/law_of_demeter_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/move_code_into_controller_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/move_code_into_helper_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/move_code_into_model_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/move_finder_to_named_scope_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/move_model_logic_into_model_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/needless_deep_nesting_review.rb +5 -4
 - data/lib/rails_best_practices/reviews/not_rescue_exception_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/not_use_default_route_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/not_use_time_ago_in_words_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/overuse_route_customizations_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/protect_mass_assignment_review.rb +4 -3
 - data/lib/rails_best_practices/reviews/remove_empty_helpers_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/remove_unused_methods_in_controllers_review.rb +11 -10
 - data/lib/rails_best_practices/reviews/remove_unused_methods_in_helpers_review.rb +4 -3
 - data/lib/rails_best_practices/reviews/remove_unused_methods_in_models_review.rb +6 -5
 - data/lib/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review.rb +2 -2
 - data/lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/restrict_auto_generated_routes_review.rb +8 -8
 - data/lib/rails_best_practices/reviews/review.rb +4 -3
 - data/lib/rails_best_practices/reviews/simplify_render_in_controllers_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/simplify_render_in_views_review.rb +3 -2
 - data/lib/rails_best_practices/reviews/use_before_filter_review.rb +5 -4
 - data/lib/rails_best_practices/reviews/use_model_association_review.rb +2 -2
 - data/lib/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review.rb +5 -5
 - data/lib/rails_best_practices/reviews/use_observer_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/use_query_attribute_review.rb +4 -3
 - data/lib/rails_best_practices/reviews/use_say_with_time_in_migrations_review.rb +4 -3
 - data/lib/rails_best_practices/reviews/use_scope_access_review.rb +2 -1
 - data/lib/rails_best_practices/reviews/use_turbo_sprockets_rails3_review.rb +2 -1
 - data/lib/rails_best_practices/version.rb +3 -2
 - data/rails_best_practices.gemspec +11 -10
 - data/spec/fixtures/lib/rails_best_practices/plugins/reviews/not_use_rails_root_review.rb +3 -2
 - data/spec/rails_best_practices/analyzer_spec.rb +6 -8
 - data/spec/rails_best_practices/core/check_spec.rb +2 -0
 - data/spec/rails_best_practices/core/checks_loader_spec.rb +2 -0
 - data/spec/rails_best_practices/core/configs_spec.rb +2 -0
 - data/spec/rails_best_practices/core/controllers_spec.rb +2 -0
 - data/spec/rails_best_practices/core/error_spec.rb +2 -0
 - data/spec/rails_best_practices/core/except_methods_spec.rb +2 -0
 - data/spec/rails_best_practices/core/gems_spec.rb +2 -0
 - data/spec/rails_best_practices/core/helpers_spec.rb +2 -0
 - data/spec/rails_best_practices/core/klasses_spec.rb +2 -0
 - data/spec/rails_best_practices/core/mailers_spec.rb +2 -0
 - data/spec/rails_best_practices/core/methods_spec.rb +6 -4
 - data/spec/rails_best_practices/core/model_associations_spec.rb +4 -2
 - data/spec/rails_best_practices/core/model_attributes_spec.rb +2 -0
 - data/spec/rails_best_practices/core/models_spec.rb +2 -0
 - data/spec/rails_best_practices/core/modules_spec.rb +2 -0
 - data/spec/rails_best_practices/core/routes_spec.rb +4 -2
 - data/spec/rails_best_practices/core/runner_spec.rb +2 -0
 - data/spec/rails_best_practices/core_ext/erubis_spec.rb +3 -1
 - data/spec/rails_best_practices/lexicals/long_line_check_spec.rb +8 -7
 - data/spec/rails_best_practices/lexicals/remove_tab_check_spec.rb +8 -6
 - data/spec/rails_best_practices/lexicals/remove_trailing_whitespace_check_spec.rb +9 -7
 - data/spec/rails_best_practices/prepares/config_prepare_spec.rb +3 -1
 - data/spec/rails_best_practices/prepares/controller_prepare_spec.rb +23 -21
 - data/spec/rails_best_practices/prepares/gemfile_prepare_spec.rb +3 -1
 - data/spec/rails_best_practices/prepares/helper_prepare_spec.rb +7 -5
 - data/spec/rails_best_practices/prepares/initializer_prepare_spec.rb +4 -2
 - data/spec/rails_best_practices/prepares/mailer_prepare_spec.rb +3 -1
 - data/spec/rails_best_practices/prepares/model_prepare_spec.rb +56 -54
 - data/spec/rails_best_practices/prepares/route_prepare_spec.rb +39 -37
 - data/spec/rails_best_practices/prepares/schema_prepare_spec.rb +3 -1
 - data/spec/rails_best_practices/reviews/add_model_virtual_attribute_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/always_add_db_index_review_spec.rb +7 -5
 - data/spec/rails_best_practices/reviews/check_destroy_return_value_review_spec.rb +12 -10
 - data/spec/rails_best_practices/reviews/check_save_return_value_review_spec.rb +20 -18
 - data/spec/rails_best_practices/reviews/default_scope_is_evil_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/dry_bundler_in_capistrano_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/hash_syntax_review_spec.rb +9 -7
 - data/spec/rails_best_practices/reviews/isolate_seed_data_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/keep_finders_on_their_own_model_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/law_of_demeter_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/move_code_into_controller_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/move_code_into_helper_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/move_code_into_model_review_spec.rb +11 -9
 - data/spec/rails_best_practices/reviews/move_finder_to_named_scope_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/move_model_logic_into_model_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/needless_deep_nesting_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/not_rescue_exception_review_spec.rb +9 -7
 - data/spec/rails_best_practices/reviews/not_use_default_route_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/not_use_time_ago_in_words_review_spec.rb +7 -5
 - data/spec/rails_best_practices/reviews/overuse_route_customizations_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/protect_mass_assignment_review_spec.rb +21 -19
 - data/spec/rails_best_practices/reviews/remove_empty_helpers_review_spec.rb +6 -4
 - data/spec/rails_best_practices/reviews/remove_unused_methods_in_controllers_review_spec.rb +33 -31
 - data/spec/rails_best_practices/reviews/remove_unused_methods_in_helpers_review_spec.rb +13 -11
 - data/spec/rails_best_practices/reviews/remove_unused_methods_in_models_review_spec.rb +65 -63
 - data/spec/rails_best_practices/reviews/replace_complex_creation_with_factory_method_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/restrict_auto_generated_routes_review_spec.rb +24 -22
 - data/spec/rails_best_practices/reviews/simplify_render_in_controllers_review_spec.rb +9 -7
 - data/spec/rails_best_practices/reviews/simplify_render_in_views_review_spec.rb +13 -11
 - data/spec/rails_best_practices/reviews/use_before_filter_review_spec.rb +3 -1
 - data/spec/rails_best_practices/reviews/use_model_association_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/use_multipart_alternative_as_content_type_of_email_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/use_observer_review_spec.rb +7 -5
 - data/spec/rails_best_practices/reviews/use_parentheses_in_method_def_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/use_query_attribute_review_spec.rb +3 -1
 - data/spec/rails_best_practices/reviews/use_say_with_time_in_migrations_review_spec.rb +9 -7
 - data/spec/rails_best_practices/reviews/use_scope_access_review_spec.rb +2 -0
 - data/spec/rails_best_practices/reviews/use_turbo_sprockets_rails3_review_spec.rb +2 -0
 - data/spec/spec_helper.rb +2 -0
 - metadata +26 -26
 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            module RailsBestPractices
         
     | 
| 
         @@ -7,7 +9,7 @@ module RailsBestPractices 
     | 
|
| 
       7 
9 
     | 
    
         | 
| 
       8 
10 
     | 
    
         
             
                  describe 'resources' do
         
     | 
| 
       9 
11 
     | 
    
         
             
                    before :each do
         
     | 
| 
       10 
     | 
    
         
            -
                      content  
     | 
| 
      
 12 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       11 
13 
     | 
    
         
             
                      class PostsController < ApplicationController
         
     | 
| 
       12 
14 
     | 
    
         
             
                        def show; end
         
     | 
| 
       13 
15 
     | 
    
         
             
                        def new; end
         
     | 
| 
         @@ -21,7 +23,7 @@ module RailsBestPractices 
     | 
|
| 
       21 
23 
     | 
    
         
             
                    end
         
     | 
| 
       22 
24 
     | 
    
         | 
| 
       23 
25 
     | 
    
         
             
                    it 'should restrict auto-generated routes' do
         
     | 
| 
       24 
     | 
    
         
            -
                      content  
     | 
| 
      
 26 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       25 
27 
     | 
    
         
             
                      RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       26 
28 
     | 
    
         
             
                        resources :posts
         
     | 
| 
       27 
29 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -32,7 +34,7 @@ module RailsBestPractices 
     | 
|
| 
       32 
34 
     | 
    
         
             
                    end
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
                    it 'should not restrict auto-generated routes with only' do
         
     | 
| 
       35 
     | 
    
         
            -
                      content  
     | 
| 
      
 37 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       36 
38 
     | 
    
         
             
                      RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       37 
39 
     | 
    
         
             
                        resources :posts, only: %w(show new create edit update destroy)
         
     | 
| 
       38 
40 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -42,7 +44,7 @@ module RailsBestPractices 
     | 
|
| 
       42 
44 
     | 
    
         
             
                    end
         
     | 
| 
       43 
45 
     | 
    
         | 
| 
       44 
46 
     | 
    
         
             
                    it 'should not restrict auto-generated routes with except' do
         
     | 
| 
       45 
     | 
    
         
            -
                      content  
     | 
| 
      
 47 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       46 
48 
     | 
    
         
             
                      RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       47 
49 
     | 
    
         
             
                        resources :posts, except: :index
         
     | 
| 
       48 
50 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -53,7 +55,7 @@ module RailsBestPractices 
     | 
|
| 
       53 
55 
     | 
    
         | 
| 
       54 
56 
     | 
    
         
             
                    describe 'specify a controller' do
         
     | 
| 
       55 
57 
     | 
    
         
             
                      it 'should restrict auto-generated routes' do
         
     | 
| 
       56 
     | 
    
         
            -
                        content  
     | 
| 
      
 58 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       57 
59 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       58 
60 
     | 
    
         
             
                          resources :articles, controller: "posts"
         
     | 
| 
       59 
61 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -66,7 +68,7 @@ module RailsBestPractices 
     | 
|
| 
       66 
68 
     | 
    
         | 
| 
       67 
69 
     | 
    
         
             
                    describe 'namespace' do
         
     | 
| 
       68 
70 
     | 
    
         
             
                      before do
         
     | 
| 
       69 
     | 
    
         
            -
                        content  
     | 
| 
      
 71 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       70 
72 
     | 
    
         
             
                        class Admin::CommentsController < ApplicationController
         
     | 
| 
       71 
73 
     | 
    
         
             
                          def show; end
         
     | 
| 
       72 
74 
     | 
    
         
             
                          def new; end
         
     | 
| 
         @@ -80,7 +82,7 @@ module RailsBestPractices 
     | 
|
| 
       80 
82 
     | 
    
         
             
                      end
         
     | 
| 
       81 
83 
     | 
    
         | 
| 
       82 
84 
     | 
    
         
             
                      it 'should restrict auto-generated routes' do
         
     | 
| 
       83 
     | 
    
         
            -
                        content  
     | 
| 
      
 85 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       84 
86 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       85 
87 
     | 
    
         
             
                          namespace :admin do
         
     | 
| 
       86 
88 
     | 
    
         
             
                            resources :comments
         
     | 
| 
         @@ -93,7 +95,7 @@ module RailsBestPractices 
     | 
|
| 
       93 
95 
     | 
    
         
             
                      end
         
     | 
| 
       94 
96 
     | 
    
         | 
| 
       95 
97 
     | 
    
         
             
                      it 'should restrict auto-generated routes with scope :module' do
         
     | 
| 
       96 
     | 
    
         
            -
                        content  
     | 
| 
      
 98 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       97 
99 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       98 
100 
     | 
    
         
             
                          scope module: :admin do
         
     | 
| 
       99 
101 
     | 
    
         
             
                            resources :comments
         
     | 
| 
         @@ -106,7 +108,7 @@ module RailsBestPractices 
     | 
|
| 
       106 
108 
     | 
    
         
             
                      end
         
     | 
| 
       107 
109 
     | 
    
         | 
| 
       108 
110 
     | 
    
         
             
                      it 'should restrict auto-generated routes with resources :module' do
         
     | 
| 
       109 
     | 
    
         
            -
                        content  
     | 
| 
      
 111 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       110 
112 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       111 
113 
     | 
    
         
             
                          resources :comments, module: :admin
         
     | 
| 
       112 
114 
     | 
    
         
             
                        end
         
     | 
| 
         @@ -119,7 +121,7 @@ module RailsBestPractices 
     | 
|
| 
       119 
121 
     | 
    
         | 
| 
       120 
122 
     | 
    
         
             
                    describe 'nested routes' do
         
     | 
| 
       121 
123 
     | 
    
         
             
                      before :each do
         
     | 
| 
       122 
     | 
    
         
            -
                        content  
     | 
| 
      
 124 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       123 
125 
     | 
    
         
             
                        class CommentsController < ApplicationController
         
     | 
| 
       124 
126 
     | 
    
         
             
                          def index; end
         
     | 
| 
       125 
127 
     | 
    
         
             
                          def show; end
         
     | 
| 
         @@ -134,7 +136,7 @@ module RailsBestPractices 
     | 
|
| 
       134 
136 
     | 
    
         
             
                      end
         
     | 
| 
       135 
137 
     | 
    
         | 
| 
       136 
138 
     | 
    
         
             
                      it 'should restrict auto-generated routes' do
         
     | 
| 
       137 
     | 
    
         
            -
                        content  
     | 
| 
      
 139 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       138 
140 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       139 
141 
     | 
    
         
             
                          resources :posts do
         
     | 
| 
       140 
142 
     | 
    
         
             
                            resources :comments
         
     | 
| 
         @@ -147,7 +149,7 @@ module RailsBestPractices 
     | 
|
| 
       147 
149 
     | 
    
         
             
                      end
         
     | 
| 
       148 
150 
     | 
    
         | 
| 
       149 
151 
     | 
    
         
             
                      it 'should not restrict auto-generated routes with only' do
         
     | 
| 
       150 
     | 
    
         
            -
                        content  
     | 
| 
      
 152 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       151 
153 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       152 
154 
     | 
    
         
             
                          resources :posts, only: %w(show new create edit update destroy) do
         
     | 
| 
       153 
155 
     | 
    
         
             
                            resources :comments
         
     | 
| 
         @@ -159,7 +161,7 @@ module RailsBestPractices 
     | 
|
| 
       159 
161 
     | 
    
         
             
                      end
         
     | 
| 
       160 
162 
     | 
    
         | 
| 
       161 
163 
     | 
    
         
             
                      it 'should not restrict auto-generated routes with except' do
         
     | 
| 
       162 
     | 
    
         
            -
                        content  
     | 
| 
      
 164 
     | 
    
         
            +
                        content = <<-EOF
         
     | 
| 
       163 
165 
     | 
    
         
             
                        RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       164 
166 
     | 
    
         
             
                          resources :posts, except: :index do
         
     | 
| 
       165 
167 
     | 
    
         
             
                            resources :comments
         
     | 
| 
         @@ -174,7 +176,7 @@ module RailsBestPractices 
     | 
|
| 
       174 
176 
     | 
    
         | 
| 
       175 
177 
     | 
    
         
             
                  describe 'resource' do
         
     | 
| 
       176 
178 
     | 
    
         
             
                    before :each do
         
     | 
| 
       177 
     | 
    
         
            -
                      content  
     | 
| 
      
 179 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       178 
180 
     | 
    
         
             
                      class AccountsController < ApplicationController
         
     | 
| 
       179 
181 
     | 
    
         
             
                        def show; end
         
     | 
| 
       180 
182 
     | 
    
         
             
                        def new; end
         
     | 
| 
         @@ -187,7 +189,7 @@ module RailsBestPractices 
     | 
|
| 
       187 
189 
     | 
    
         
             
                    end
         
     | 
| 
       188 
190 
     | 
    
         | 
| 
       189 
191 
     | 
    
         
             
                    it 'should restrict auto-generated routes' do
         
     | 
| 
       190 
     | 
    
         
            -
                      content  
     | 
| 
      
 192 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       191 
193 
     | 
    
         
             
                      ActionController::Routing::Routes.draw do |map|
         
     | 
| 
       192 
194 
     | 
    
         
             
                        map.resource :account
         
     | 
| 
       193 
195 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -198,7 +200,7 @@ module RailsBestPractices 
     | 
|
| 
       198 
200 
     | 
    
         
             
                    end
         
     | 
| 
       199 
201 
     | 
    
         | 
| 
       200 
202 
     | 
    
         
             
                    it 'should not restrict auto-generated routes with only' do
         
     | 
| 
       201 
     | 
    
         
            -
                      content  
     | 
| 
      
 203 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       202 
204 
     | 
    
         
             
                      ActionController::Routing::Routes.draw do |map|
         
     | 
| 
       203 
205 
     | 
    
         
             
                        map.resource :account, only: %w(show new create edit update)
         
     | 
| 
       204 
206 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -208,7 +210,7 @@ module RailsBestPractices 
     | 
|
| 
       208 
210 
     | 
    
         
             
                    end
         
     | 
| 
       209 
211 
     | 
    
         | 
| 
       210 
212 
     | 
    
         
             
                    it 'should not restrict auto-generated routes with except' do
         
     | 
| 
       211 
     | 
    
         
            -
                      content  
     | 
| 
      
 213 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       212 
214 
     | 
    
         
             
                      ActionController::Routing::Routes.draw do |map|
         
     | 
| 
       213 
215 
     | 
    
         
             
                        map.resource :account, except: :destroy
         
     | 
| 
       214 
216 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -221,7 +223,7 @@ module RailsBestPractices 
     | 
|
| 
       221 
223 
     | 
    
         
             
                      runner = Core::Runner.new(prepares: Prepares::ControllerPrepare.new,
         
     | 
| 
       222 
224 
     | 
    
         
             
                                                reviews: RestrictAutoGeneratedRoutesReview.new(ignored_files: /config\/routes\.rb/))
         
     | 
| 
       223 
225 
     | 
    
         | 
| 
       224 
     | 
    
         
            -
                      content  
     | 
| 
      
 226 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       225 
227 
     | 
    
         
             
                      ActionController::Routing::Routes.draw do |map|
         
     | 
| 
       226 
228 
     | 
    
         
             
                        map.resource :account
         
     | 
| 
       227 
229 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -235,7 +237,7 @@ module RailsBestPractices 
     | 
|
| 
       235 
237 
     | 
    
         
             
                    let(:runner) { Core::Runner.new(prepares: [Prepares::ConfigPrepare.new, Prepares::ControllerPrepare.new], reviews: RestrictAutoGeneratedRoutesReview.new) }
         
     | 
| 
       236 
238 
     | 
    
         | 
| 
       237 
239 
     | 
    
         
             
                    before do
         
     | 
| 
       238 
     | 
    
         
            -
                      content  
     | 
| 
      
 240 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       239 
241 
     | 
    
         
             
                      module RailsBestPracticesCom
         
     | 
| 
       240 
242 
     | 
    
         
             
                        class Application < Rails::Application
         
     | 
| 
       241 
243 
     | 
    
         
             
                          config.api_only = true
         
     | 
| 
         @@ -243,7 +245,7 @@ module RailsBestPractices 
     | 
|
| 
       243 
245 
     | 
    
         
             
                      end
         
     | 
| 
       244 
246 
     | 
    
         
             
                      EOF
         
     | 
| 
       245 
247 
     | 
    
         
             
                      runner.prepare('config/application.rb', content)
         
     | 
| 
       246 
     | 
    
         
            -
                      content  
     | 
| 
      
 248 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       247 
249 
     | 
    
         
             
                      class PostsController < ApplicationController
         
     | 
| 
       248 
250 
     | 
    
         
             
                        def show; end
         
     | 
| 
       249 
251 
     | 
    
         
             
                        def create; end
         
     | 
| 
         @@ -255,7 +257,7 @@ module RailsBestPractices 
     | 
|
| 
       255 
257 
     | 
    
         
             
                    end
         
     | 
| 
       256 
258 
     | 
    
         | 
| 
       257 
259 
     | 
    
         
             
                    it 'should restrict auto-generated routes' do
         
     | 
| 
       258 
     | 
    
         
            -
                      content  
     | 
| 
      
 260 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       259 
261 
     | 
    
         
             
                      RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       260 
262 
     | 
    
         
             
                        resources :posts
         
     | 
| 
       261 
263 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -266,7 +268,7 @@ module RailsBestPractices 
     | 
|
| 
       266 
268 
     | 
    
         
             
                    end
         
     | 
| 
       267 
269 
     | 
    
         | 
| 
       268 
270 
     | 
    
         
             
                    it 'should not restrict auto-generated routes with only' do
         
     | 
| 
       269 
     | 
    
         
            -
                      content  
     | 
| 
      
 271 
     | 
    
         
            +
                      content = <<-EOF
         
     | 
| 
       270 
272 
     | 
    
         
             
                      RailsBestPracticesCom::Application.routes.draw do
         
     | 
| 
       271 
273 
     | 
    
         
             
                        resources :posts, only: %w(show create update destroy)
         
     | 
| 
       272 
274 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            module RailsBestPractices
         
     | 
| 
         @@ -6,7 +8,7 @@ module RailsBestPractices 
     | 
|
| 
       6 
8 
     | 
    
         
             
                  let(:runner) { Core::Runner.new(reviews: SimplifyRenderInControllersReview.new) }
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
       8 
10 
     | 
    
         
             
                  it 'should simplify render action view' do
         
     | 
| 
       9 
     | 
    
         
            -
                    content  
     | 
| 
      
 11 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       10 
12 
     | 
    
         
             
                    def edit
         
     | 
| 
       11 
13 
     | 
    
         
             
                      render action: :edit
         
     | 
| 
       12 
14 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -17,7 +19,7 @@ module RailsBestPractices 
     | 
|
| 
       17 
19 
     | 
    
         
             
                  end
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
       19 
21 
     | 
    
         
             
                  it "should simplify render actions's template" do
         
     | 
| 
       20 
     | 
    
         
            -
                    content  
     | 
| 
      
 22 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       21 
23 
     | 
    
         
             
                    def edit
         
     | 
| 
       22 
24 
     | 
    
         
             
                      render template: 'books/edit'
         
     | 
| 
       23 
25 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -28,7 +30,7 @@ module RailsBestPractices 
     | 
|
| 
       28 
30 
     | 
    
         
             
                  end
         
     | 
| 
       29 
31 
     | 
    
         | 
| 
       30 
32 
     | 
    
         
             
                  it 'should simplify render an arbitrary file' do
         
     | 
| 
       31 
     | 
    
         
            -
                    content  
     | 
| 
      
 33 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       32 
34 
     | 
    
         
             
                    def edit
         
     | 
| 
       33 
35 
     | 
    
         
             
                      render file: '/path/to/rails/app/views/books/edit'
         
     | 
| 
       34 
36 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -39,7 +41,7 @@ module RailsBestPractices 
     | 
|
| 
       39 
41 
     | 
    
         
             
                  end
         
     | 
| 
       40 
42 
     | 
    
         | 
| 
       41 
43 
     | 
    
         
             
                  it 'should not simplify render action view' do
         
     | 
| 
       42 
     | 
    
         
            -
                    content  
     | 
| 
      
 44 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       43 
45 
     | 
    
         
             
                    render :edit
         
     | 
| 
       44 
46 
     | 
    
         
             
                    EOF
         
     | 
| 
       45 
47 
     | 
    
         
             
                    runner.review('app/controllers/posts_controller', content)
         
     | 
| 
         @@ -47,7 +49,7 @@ module RailsBestPractices 
     | 
|
| 
       47 
49 
     | 
    
         
             
                  end
         
     | 
| 
       48 
50 
     | 
    
         | 
| 
       49 
51 
     | 
    
         
             
                  it "should not simplify render actions's template" do
         
     | 
| 
       50 
     | 
    
         
            -
                    content  
     | 
| 
      
 52 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       51 
53 
     | 
    
         
             
                    def edit
         
     | 
| 
       52 
54 
     | 
    
         
             
                      render 'books/edit'
         
     | 
| 
       53 
55 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -57,7 +59,7 @@ module RailsBestPractices 
     | 
|
| 
       57 
59 
     | 
    
         
             
                  end
         
     | 
| 
       58 
60 
     | 
    
         | 
| 
       59 
61 
     | 
    
         
             
                  it 'should not simplify render an arbitrary file' do
         
     | 
| 
       60 
     | 
    
         
            -
                    content  
     | 
| 
      
 62 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       61 
63 
     | 
    
         
             
                    def edit
         
     | 
| 
       62 
64 
     | 
    
         
             
                      render '/path/to/rails/app/views/books/edit'
         
     | 
| 
       63 
65 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -68,7 +70,7 @@ module RailsBestPractices 
     | 
|
| 
       68 
70 
     | 
    
         | 
| 
       69 
71 
     | 
    
         
             
                  it 'should not check ignored files' do
         
     | 
| 
       70 
72 
     | 
    
         
             
                    runner = Core::Runner.new(reviews: SimplifyRenderInControllersReview.new(ignored_files: /posts_controller/))
         
     | 
| 
       71 
     | 
    
         
            -
                    content  
     | 
| 
      
 73 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       72 
74 
     | 
    
         
             
                    def edit
         
     | 
| 
       73 
75 
     | 
    
         
             
                      render action: :edit
         
     | 
| 
       74 
76 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            module RailsBestPractices
         
     | 
| 
         @@ -6,7 +8,7 @@ module RailsBestPractices 
     | 
|
| 
       6 
8 
     | 
    
         
             
                  let(:runner) { Core::Runner.new(reviews: SimplifyRenderInViewsReview.new) }
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
       8 
10 
     | 
    
         
             
                  it 'should simplify render simple partial' do
         
     | 
| 
       9 
     | 
    
         
            -
                    content  
     | 
| 
      
 11 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       10 
12 
     | 
    
         
             
                    <%= render partial: 'sidebar' %>
         
     | 
| 
       11 
13 
     | 
    
         
             
                    EOF
         
     | 
| 
       12 
14 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -15,7 +17,7 @@ module RailsBestPractices 
     | 
|
| 
       15 
17 
     | 
    
         
             
                  end
         
     | 
| 
       16 
18 
     | 
    
         | 
| 
       17 
19 
     | 
    
         
             
                  it 'should simplify render partial with object' do
         
     | 
| 
       18 
     | 
    
         
            -
                    content  
     | 
| 
      
 20 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       19 
21 
     | 
    
         
             
                    <%= render partial: 'post', object: @post %>
         
     | 
| 
       20 
22 
     | 
    
         
             
                    EOF
         
     | 
| 
       21 
23 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -24,7 +26,7 @@ module RailsBestPractices 
     | 
|
| 
       24 
26 
     | 
    
         
             
                  end
         
     | 
| 
       25 
27 
     | 
    
         | 
| 
       26 
28 
     | 
    
         
             
                  it 'should simplify render partial with collection' do
         
     | 
| 
       27 
     | 
    
         
            -
                    content  
     | 
| 
      
 29 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       28 
30 
     | 
    
         
             
                    <%= render partial: 'posts', collection: @posts %>
         
     | 
| 
       29 
31 
     | 
    
         
             
                    EOF
         
     | 
| 
       30 
32 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -33,7 +35,7 @@ module RailsBestPractices 
     | 
|
| 
       33 
35 
     | 
    
         
             
                  end
         
     | 
| 
       34 
36 
     | 
    
         | 
| 
       35 
37 
     | 
    
         
             
                  it 'should simplify render partial with local variables' do
         
     | 
| 
       36 
     | 
    
         
            -
                    content  
     | 
| 
      
 38 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       37 
39 
     | 
    
         
             
                    <%= render partial: 'comment', locals: { parent: post } %>
         
     | 
| 
       38 
40 
     | 
    
         
             
                    EOF
         
     | 
| 
       39 
41 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -42,7 +44,7 @@ module RailsBestPractices 
     | 
|
| 
       42 
44 
     | 
    
         
             
                  end
         
     | 
| 
       43 
45 
     | 
    
         | 
| 
       44 
46 
     | 
    
         
             
                  it 'should not simplify render simple partial' do
         
     | 
| 
       45 
     | 
    
         
            -
                    content  
     | 
| 
      
 47 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       46 
48 
     | 
    
         
             
                    <%= render 'sidebar' %>
         
     | 
| 
       47 
49 
     | 
    
         
             
                    <%= render 'shared/sidebar' %>
         
     | 
| 
       48 
50 
     | 
    
         
             
                    EOF
         
     | 
| 
         @@ -51,7 +53,7 @@ module RailsBestPractices 
     | 
|
| 
       51 
53 
     | 
    
         
             
                  end
         
     | 
| 
       52 
54 
     | 
    
         | 
| 
       53 
55 
     | 
    
         
             
                  it 'should not simplify render partial with object' do
         
     | 
| 
       54 
     | 
    
         
            -
                    content  
     | 
| 
      
 56 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       55 
57 
     | 
    
         
             
                    <%= render @post %>
         
     | 
| 
       56 
58 
     | 
    
         
             
                    EOF
         
     | 
| 
       57 
59 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -59,7 +61,7 @@ module RailsBestPractices 
     | 
|
| 
       59 
61 
     | 
    
         
             
                  end
         
     | 
| 
       60 
62 
     | 
    
         | 
| 
       61 
63 
     | 
    
         
             
                  it 'should not simplify render partial with collection' do
         
     | 
| 
       62 
     | 
    
         
            -
                    content  
     | 
| 
      
 64 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       63 
65 
     | 
    
         
             
                    <%= render @posts %>
         
     | 
| 
       64 
66 
     | 
    
         
             
                    EOF
         
     | 
| 
       65 
67 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -67,7 +69,7 @@ module RailsBestPractices 
     | 
|
| 
       67 
69 
     | 
    
         
             
                  end
         
     | 
| 
       68 
70 
     | 
    
         | 
| 
       69 
71 
     | 
    
         
             
                  it 'should not simplify render partial with local variables' do
         
     | 
| 
       70 
     | 
    
         
            -
                    content  
     | 
| 
      
 72 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       71 
73 
     | 
    
         
             
                    <%= render 'comment', parent: post %>
         
     | 
| 
       72 
74 
     | 
    
         
             
                    EOF
         
     | 
| 
       73 
75 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -75,7 +77,7 @@ module RailsBestPractices 
     | 
|
| 
       75 
77 
     | 
    
         
             
                  end
         
     | 
| 
       76 
78 
     | 
    
         | 
| 
       77 
79 
     | 
    
         
             
                  it 'should not simplify render partial with complex partial' do
         
     | 
| 
       78 
     | 
    
         
            -
                    content  
     | 
| 
      
 80 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       79 
81 
     | 
    
         
             
                    <%= render partial: 'shared/post', object: @post %>
         
     | 
| 
       80 
82 
     | 
    
         
             
                    EOF
         
     | 
| 
       81 
83 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -83,7 +85,7 @@ module RailsBestPractices 
     | 
|
| 
       83 
85 
     | 
    
         
             
                  end
         
     | 
| 
       84 
86 
     | 
    
         | 
| 
       85 
87 
     | 
    
         
             
                  it 'should not simplify render partial with layout option' do
         
     | 
| 
       86 
     | 
    
         
            -
                    content  
     | 
| 
      
 88 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       87 
89 
     | 
    
         
             
                    <%= render partial: 'post', layout: 'post' %>
         
     | 
| 
       88 
90 
     | 
    
         
             
                    EOF
         
     | 
| 
       89 
91 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -92,7 +94,7 @@ module RailsBestPractices 
     | 
|
| 
       92 
94 
     | 
    
         | 
| 
       93 
95 
     | 
    
         
             
                  it 'should not check ignored files' do
         
     | 
| 
       94 
96 
     | 
    
         
             
                    runner = Core::Runner.new(reviews: SimplifyRenderInViewsReview.new(ignored_files: /views\/posts\/index/))
         
     | 
| 
       95 
     | 
    
         
            -
                    content  
     | 
| 
      
 97 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       96 
98 
     | 
    
         
             
                    <%= render partial: 'sidebar' %>
         
     | 
| 
       97 
99 
     | 
    
         
             
                    EOF
         
     | 
| 
       98 
100 
     | 
    
         
             
                    runner.review('app/views/posts/index.html.erb', content)
         
     | 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            module RailsBestPractices
         
     | 
| 
         @@ -85,7 +87,7 @@ module RailsBestPractices 
     | 
|
| 
       85 
87 
     | 
    
         
             
                  end
         
     | 
| 
       86 
88 
     | 
    
         | 
| 
       87 
89 
     | 
    
         
             
                  it 'should not use before_filter for protected/private methods' do
         
     | 
| 
       88 
     | 
    
         
            -
                    content  
     | 
| 
      
 90 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       89 
91 
     | 
    
         
             
                    class PostsController < ApplicationController
         
     | 
| 
       90 
92 
     | 
    
         
             
                      protected
         
     | 
| 
       91 
93 
     | 
    
         
             
                      def load_comments
         
     | 
| 
         @@ -1,3 +1,5 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            # frozen_string_literal: true
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
       1 
3 
     | 
    
         
             
            require 'spec_helper'
         
     | 
| 
       2 
4 
     | 
    
         | 
| 
       3 
5 
     | 
    
         
             
            module RailsBestPractices
         
     | 
| 
         @@ -6,7 +8,7 @@ module RailsBestPractices 
     | 
|
| 
       6 
8 
     | 
    
         
             
                  let(:runner) { Core::Runner.new(prepares: Prepares::MailerPrepare.new, reviews: UseObserverReview.new) }
         
     | 
| 
       7 
9 
     | 
    
         | 
| 
       8 
10 
     | 
    
         
             
                  before :each do
         
     | 
| 
       9 
     | 
    
         
            -
                    content  
     | 
| 
      
 11 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       10 
12 
     | 
    
         
             
                    class ProjectMailer < ActionMailer::Base
         
     | 
| 
       11 
13 
     | 
    
         
             
                    end
         
     | 
| 
       12 
14 
     | 
    
         
             
                    EOF
         
     | 
| 
         @@ -14,7 +16,7 @@ module RailsBestPractices 
     | 
|
| 
       14 
16 
     | 
    
         
             
                  end
         
     | 
| 
       15 
17 
     | 
    
         | 
| 
       16 
18 
     | 
    
         
             
                  it 'should use observer' do
         
     | 
| 
       17 
     | 
    
         
            -
                    content  
     | 
| 
      
 19 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       18 
20 
     | 
    
         
             
                    class Project < ActiveRecord::Base
         
     | 
| 
       19 
21 
     | 
    
         
             
                      after_create :send_create_notification
         
     | 
| 
       20 
22 
     | 
    
         | 
| 
         @@ -32,7 +34,7 @@ module RailsBestPractices 
     | 
|
| 
       32 
34 
     | 
    
         
             
                  end
         
     | 
| 
       33 
35 
     | 
    
         | 
| 
       34 
36 
     | 
    
         
             
                  it 'should not use observer without callback' do
         
     | 
| 
       35 
     | 
    
         
            -
                    content  
     | 
| 
      
 37 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       36 
38 
     | 
    
         
             
                    class Project < ActiveRecord::Base
         
     | 
| 
       37 
39 
     | 
    
         
             
                      private
         
     | 
| 
       38 
40 
     | 
    
         
             
                      def send_create_notification
         
     | 
| 
         @@ -47,7 +49,7 @@ module RailsBestPractices 
     | 
|
| 
       47 
49 
     | 
    
         
             
                  end
         
     | 
| 
       48 
50 
     | 
    
         | 
| 
       49 
51 
     | 
    
         
             
                  it 'should use observer with two after_create' do
         
     | 
| 
       50 
     | 
    
         
            -
                    content  
     | 
| 
      
 52 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       51 
53 
     | 
    
         
             
                    class Project < ActiveRecord::Base
         
     | 
| 
       52 
54 
     | 
    
         
             
                      after_create :send_create_notification, :update_author
         
     | 
| 
       53 
55 
     | 
    
         | 
| 
         @@ -68,7 +70,7 @@ module RailsBestPractices 
     | 
|
| 
       68 
70 
     | 
    
         
             
                  end
         
     | 
| 
       69 
71 
     | 
    
         | 
| 
       70 
72 
     | 
    
         
             
                  it 'should not raise when initiate an object in callback' do
         
     | 
| 
       71 
     | 
    
         
            -
                    content  
     | 
| 
      
 73 
     | 
    
         
            +
                    content = <<-EOF
         
     | 
| 
       72 
74 
     | 
    
         
             
                    class Project < ActiveRecord::Base
         
     | 
| 
       73 
75 
     | 
    
         
             
                      after_create ProjectMailer.new
         
     | 
| 
       74 
76 
     | 
    
         
             
                    end
         
     |