Sha256: 009de600237f4342817b9142444da283bd09a1d5bf75f4b95696c24df8f07e6b

Contents?: true

Size: 1.01 KB

Versions: 10

Compression:

Stored size: 1.01 KB

Contents

# encoding: utf-8
require 'rails_best_practices/reviews/review'

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

10 entries across 10 versions & 1 rubygems

Version Path
rails_best_practices-1.13.8 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.13.5 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.13.4 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.13.3 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.13.2 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.13.1 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.13.0 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.12.0 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.11.1 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb
rails_best_practices-1.11.0 lib/rails_best_practices/reviews/use_parentheses_in_method_def_review.rb