Sha256: 5e145cb0529d926bbe64ff648561e4c8a8a9b0e8e26057cd1ceed40d9004bd23

Contents?: true

Size: 875 Bytes

Versions: 6938

Compression:

Stored size: 875 Bytes

Contents

# frozen_string_literal: true

module RuboCop
  module Cop
    # Common functionality for checking length of code segments.
    module CodeLength
      include ConfigurableMax

      private

      def max_length
        cop_config['Max']
      end

      def count_comments?
        cop_config['CountComments']
      end

      def check_code_length(node)
        length = code_length(node)

        return unless length > max_length

        location = node.casgn_type? ? :name : :expression

        add_offense(node, location: location,
                          message: message(length, max_length)) do
          self.max = length
        end
      end

      # Returns true for lines that shall not be included in the count.
      def irrelevant_line(source_line)
        source_line.blank? || !count_comments? && comment_line?(source_line)
      end
    end
  end
end

Version data entries

6,938 entries across 6,913 versions & 29 rubygems

Version Path
grape-extra_validators-2.0.0 vendor/bundle/ruby/2.6.0/gems/rubocop-0.79.0/lib/rubocop/cop/mixin/code_length.rb
rubocop-0.86.0 lib/rubocop/cop/mixin/code_length.rb
files.com-1.0.1 vendor/bundle/ruby/2.5.0/gems/rubocop-0.85.1/lib/rubocop/cop/mixin/code_length.rb
rbhint-0.85.1.rc2 lib/rubocop/cop/mixin/code_length.rb
rbhint-0.85.1.rc1 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.85.1 lib/rubocop/cop/mixin/code_length.rb
rbhint-0.8.5.rc1 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.85.0 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.84.0 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.83.0 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.82.0 lib/rubocop/cop/mixin/code_length.rb
talon_one-2.0.0 vendor/bundle/ruby/2.7.0/gems/rubocop-0.66.0/lib/rubocop/cop/mixin/code_length.rb
talon_one-2.0.0 vendor/bundle/ruby/2.3.0/gems/rubocop-0.66.0/lib/rubocop/cop/mixin/code_length.rb
rubocop-0.81.0 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.80.1 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.80.0 lib/rubocop/cop/mixin/code_length.rb
grape-extra_validators-1.0.0 vendor/bundle/ruby/2.6.0/gems/rubocop-0.79.0/lib/rubocop/cop/mixin/code_length.rb
grape-extra_validators-1.0.0 vendor/bundle/ruby/2.4.0/gems/rubocop-0.79.0/lib/rubocop/cop/mixin/code_length.rb
rubocop-0.79.0 lib/rubocop/cop/mixin/code_length.rb
rubocop-0.78.0 lib/rubocop/cop/mixin/code_length.rb