Sha256: 3346c5e999d8ec8feb1498907919187e8511570e83ed51a4cafa92269cd8e558

Contents?: true

Size: 698 Bytes

Versions: 1

Compression:

Stored size: 698 Bytes

Contents

require 'roodi/checks/check'

module Roodi
  module Checks
    class ClassLineCountCheck < Check
      def initialize(line_count = 300)
        super()
        @line_count = line_count
      end
      
      def interesting_nodes
        [:class]
      end

      def evaluate(node)
        line_count = count_lines(node)
        add_error "Class \"#{node[1]}\" has #{line_count} lines.  It should have #{@line_count} or less." unless line_count <= @line_count
      end
  
      private
  
      def count_lines(node)
        count = 0
        count = count + 1 if node.node_type == :newline
        node.children.each {|node| count += count_lines(node)}
        count
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
roodi-1.2.0 lib/roodi/checks/class_line_count_check.rb