Sha256: 74934a323f36e7e1977599d7aa3f883478a6ae59650e38145974397077f5948e
Contents?: true
Size: 654 Bytes
Versions: 3
Compression:
Stored size: 654 Bytes
Contents
require 'roodi/checks/check' module Roodi module Checks class CyclomaticComplexityCheck < Check COMPLEXITY_NODE_TYPES = [:if, :while, :until, :for, :rescue, :case, :when, :and, :or] def initialize(complexity) super() @complexity = complexity end protected def count_complexity(node) count_branches(node) + 1 end private def count_branches(node) count = 0 count = count + 1 if COMPLEXITY_NODE_TYPES.include? node.node_type node.children.each {|node| count += count_branches(node)} count end end end end
Version data entries
3 entries across 3 versions & 1 rubygems