class Rubocop::Cop::MethodLength

def calculate_length(source)

def calculate_length(source)
  lines = source.lines.to_a[1...-1]
  return 0 unless lines
  lines.map!(&:strip).reject!(&:empty?)
  lines.reject! { |line| line =~ /^\s*#/ } unless count_comments?
  lines.size
end

def check(node)

def check(node)
  method_length = calculate_length(node.loc.expression.source)
  if method_length > max_length
    message = sprintf(MSG, method_length, max_length)
    add_offence(:convention, node.loc.keyword.line, message)
  end
end

def count_comments?

def count_comments?
  MethodLength.config['CountComments']
end

def max_length

def max_length
  MethodLength.config['Max']
end

def on_def(node)

def on_def(node)
  check(node)
  super
end

def on_defs(node)

def on_defs(node)
  check(node)
  super
end