Sha256: de8bd10f7ab043182ec5d82ca1763c7316ac1d70ed4989f79f0f5039cb995ccd

Contents?: true

Size: 488 Bytes

Versions: 14

Compression:

Stored size: 488 Bytes

Contents

# frozen_string_literal: true

module CustomCops
  #  This cop checks for the presence of dynamically generated constants
  #
  # @example
  #   #bad
  #   "FOO_BAR".constantize
  #
  #   #good
  #   FOO_BAR
  #
  class Constantize < RuboCop::Cop::Base
    MSG = 'Avoid dynamically creating constants.'

    def_node_matcher :constantizing?, '(send ... :constantize)'

    def on_send(node)
      return unless constantizing?(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/constantize.rb
simplycop-2.13.1 lib/simplycop/custom_cops/constantize.rb
simplycop-2.13.0 lib/simplycop/custom_cops/constantize.rb
simplycop-2.12.1 lib/simplycop/custom_cops/constantize.rb
simplycop-2.12.0 lib/simplycop/custom_cops/constantize.rb
simplycop-2.11.1 lib/simplycop/custom_cops/constantize.rb
simplycop-2.11.0 lib/simplycop/custom_cops/constantize.rb
simplycop-2.10.0 lib/simplycop/custom_cops/constantize.rb
simplycop-2.9.1 lib/simplycop/custom_cops/constantize.rb
simplycop-2.9.0 lib/simplycop/custom_cops/constantize.rb
simplycop-2.8.0 lib/simplycop/custom_cops/constantize.rb
simplycop-2.7.2 lib/simplycop/custom_cops/constantize.rb
simplycop-2.7.1 lib/simplycop/custom_cops/constantize.rb
simplycop-2.7.0 lib/simplycop/custom_cops/constantize.rb