Sha256: beb314ad48d8270fa2e7a46a2a30efdd7b6e30844614a7d97c1ce58864324849

Contents?: true

Size: 617 Bytes

Versions: 14

Compression:

Stored size: 617 Bytes

Contents

# frozen_string_literal: true

module CustomCops
  #  This cop checks for usages of `instance_eval`
  #
  # @example
  #   #bad
  #   class Person
  #   end
  #
  #   Person.instance_eval do
  #     def human?
  #       true
  #     end
  #   end
  #
  #   #good
  #   class Person
  #     def self.human?
  #       true
  #     end
  #   end
  #
  class InstanceEval < RuboCop::Cop::Base
    MSG = 'Avoid instance_eval.'

    def_node_matcher :instance_evaling?, '(send _ :instance_eval ...)'

    def on_send(node)
      return unless instance_evaling?(node)

      add_offense(node.loc.selector)
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
simplycop-2.13.2 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.13.1 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.13.0 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.12.1 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.12.0 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.11.1 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.11.0 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.10.0 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.9.1 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.9.0 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.8.0 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.7.2 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.7.1 lib/simplycop/custom_cops/instance_eval.rb
simplycop-2.7.0 lib/simplycop/custom_cops/instance_eval.rb