Sha256: 974a92f049cd7c5ced58b13598dabdcecca6655e1bb9c6050ee7d1cfd8988113

Contents?: true

Size: 826 Bytes

Versions: 17

Compression:

Stored size: 826 Bytes

Contents

# frozen_string_literal: true

module RuboCop
  module Cop
    # Common functionality for checking for too many lines.
    module TooManyLines
      include ConfigurableMax
      include CodeLength

      MSG = '%s has too many lines. [%d/%d]'.freeze

      private

      def message(length, max_length)
        format(MSG, cop_label, length, max_length)
      end

      def code_length(node)
        body = extract_body(node)
        lines = body && body.source.lines || []

        lines.count { |line| !irrelevant_line(line) }
      end

      def extract_body(node)
        case node.type
        when :block, :def
          _receiver_or_method, _args, body = *node
        when :defs
          _self, _method, _args, body = *node
        else
          body = node
        end

        body
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
dirwatch-0.0.9 vendor/bundle/ruby/2.5.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
dirwatch-0.0.8 vendor/bundle/ruby/2.5.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
dirwatch-0.0.6 vendor/bundle/ruby/2.3.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
dirwatch-0.0.5 vendor/bundle/ruby/2.3.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
dirwatch-0.0.4 vendor/bundle/ruby/2.3.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
dirwatch-0.0.3 vendor/bundle/ruby/2.3.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
dirwatch-0.0.2 vendor/bundle/ruby/2.3.0/gems/rubocop-0.46.0/lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.51.0 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.50.0 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.49.1 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.49.0 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.48.1 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.48.0 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.47.1 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.47.0 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.46.0 lib/rubocop/cop/mixin/too_many_lines.rb
rubocop-0.45.0 lib/rubocop/cop/mixin/too_many_lines.rb