Sha256: 3f1b612041242db803ad61385543f1ea465cbc85ea9b878e39951cd7876852e3

Contents?: true

Size: 1.09 KB

Versions: 5

Compression:

Stored size: 1.09 KB

Contents

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

module RailsBestPractices
  module Reviews
    # Review a partail view file to make sure there is no instance variable.
    #
    # See the best practice details here http://rails-bestpractices.com/posts/27-replace-instance-variable-with-local-variable.
    #
    # Implementation:
    #
    # Review process:
    #   check all instance variable in partial view files,
    #   if exist, then they should be replaced with local variable
    class ReplaceInstanceVariableWithLocalVariableReview < Review
      def url
        "http://rails-bestpractices.com/posts/27-replace-instance-variable-with-local-variable"
      end

      def interesting_nodes
        [:var_ref]
      end

      def interesting_files
        PARTIAL_VIEW_FILES
      end

      # check ivar node in partial view file,
      # it is an instance variable, and should be replaced with local variable.
      def start_var_ref(node)
        if node.to_s.start_with?('@')
          add_error "replace instance variable with local variable"
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rails_best_practices-1.3.0 lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb
rails_best_practices-1.2.0 lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb
rails_best_practices-1.1.0 lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb
rails_best_practices-1.0.1 lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb
rails_best_practices-1.0.0 lib/rails_best_practices/reviews/replace_instance_variable_with_local_variable_review.rb