Sha256: 1b769dd1908e5a47faaca95973a1ac46c1f0cb483b56fbc771dd5c4df544ab59
Contents?: true
Size: 1.05 KB
Versions: 3
Compression:
Stored size: 1.05 KB
Contents
require 'simplabs/excellent/checks/line_count_check' module Simplabs module Excellent module Checks # This check reports classes which have more lines than the threshold. Classes with a large number of lines are hard to read and understand and # often an indicator for badly designed code as well. # # ==== Applies to # # * classes class ClassLineCountCheck < LineCountCheck DEFAULT_THRESHOLD = 400 def initialize(options = {}) #:nodoc: threshold = options[:threshold] || DEFAULT_THRESHOLD super([Parsing::ClassContext], threshold) end def evaluate(context) line_count = context.line_count == 1 ? 1 : context.line_count + 1 add_warning(*warning_args(context, line_count)) unless line_count <= @threshold end protected def warning_args(context, line_count) #:nodoc: [context, '{{class}} has {{count}} lines.', { :class => context.full_name, :count => line_count }] end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems