Sha256: 6862ada3dc2190e830bcf5d167e09b849b6a5c88449a9a8a80d6e77bc3f80a5c

Contents?: true

Size: 987 Bytes

Versions: 12

Compression:

Stored size: 987 Bytes

Contents

# encoding: utf-8
module RailsBestPractices
  module Reviews
    # Check if method definition has parentheses around parameters.
    #
    # Review process:
    #   check def node in all files,
    #   if params node with values, but not wrapped by paren node,
    #   then it should use parentheses around parameters.
    class UseParenthesesInMethodDefReview < Review
      interesting_nodes :def
      interesting_files ALL_FILES

      # check def node to see if parameters are wrapped by parentheses.
      add_callback :start_def do |node|
        if no_parentheses_around_parameters?(node) && has_parameters?(node)
          add_error("use parentheses around parameters in method definitions")
        end
      end

      protected
        def no_parentheses_around_parameters?(def_node)
          :parent != def_node[2][0]
        end

        def has_parameters?(def_node)
          :params == def_node[2][0] && !def_node[2][1..-1].compact.empty?
        end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rails_best_practices-1.16.0 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.15.7 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.15.6 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.15.4 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.15.3 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.15.2 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.15.1 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.14.4 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.14.3 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.14.2 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.14.1 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.14.0 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb