Sha256: e60a67607af4cbb79e32cde9ebfffdab1ace3f72d446151b689380c9d110fd7b

Contents?: true

Size: 1.03 KB

Versions: 9

Compression:

Stored size: 1.03 KB

Contents

# encoding: utf-8
module RailsBestPractices
  module Reviews
    # Review a helper file to make sure it is not an empty moduel.
    #
    # See the best practice details here http://rails-bestpractices.com/posts/72-remove-empty-helpers.
    #
    # Implementation:
    #
    # Review process:
    #   check all helper files, if the body of module is nil, then the helper file should be removed.
    class RemoveEmptyHelpersReview < Review
      interesting_nodes :module
      interesting_files HELPER_FILES
      url "http://rails-bestpractices.com/posts/72-remove-empty-helpers"

      # check the body of module node, if it is nil, then it should be removed.
      add_callback :start_module do |module_node|
        if "ApplicationHelper" != module_node.module_name.to_s && empty_body?(module_node)
          add_error "remove empty helpers"
        end
      end

      protected
        def empty_body?(module_node)
          s(:bodystmt, s(:stmts_add, s(:stmts_new), s(:void_stmt)), nil, nil, nil) == module_node.body
        end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
rails_best_practices-1.15.4 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.15.3 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.15.2 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.15.1 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.14.4 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.14.3 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.14.2 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.14.1 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb
rails_best_practices-1.14.0 lib/rails_best_practices/reviews/remove_empty_helpers_review.rb