Sha256: 3a7ba52075cc781e64196d12c9f90f6163a7a4a49935817a94608e26032faaf3

Contents?: true

Size: 494 Bytes

Versions: 9

Compression:

Stored size: 494 Bytes

Contents

require 'roodi/checks/check'

module Roodi
  module Checks
    class ControlCouplingCheck < Check
      def interesting_nodes
        [:defn, :lvar]
      end

      def evaluate_start_defn(node)
        @method_name = node[1]
        @arguments = node[2][1..-1]
      end
        
      def evaluate_start_lvar(node)
        add_error "Method \"#{@method_name}\" uses the argument \"#{node[1]}\" for internal control." if @arguments.detect {|each| each == node[1]}
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 3 rubygems

Version Path
roodi-3.0.0 lib/roodi/checks/control_coupling_check.rb
metric_fu-roodi-2.2.2 lib/roodi/checks/control_coupling_check.rb
metric_fu-roodi-2.2.1 lib/roodi/checks/control_coupling_check.rb
roodi-2.2.0 lib/roodi/checks/control_coupling_check.rb
metric_fu-roodi-2.2.0 lib/roodi/checks/control_coupling_check.rb
roodi1.9-2.0.1 lib/roodi/checks/control_coupling_check.rb
roodi-2.1.0 lib/roodi/checks/control_coupling_check.rb
roodi-2.0.1 lib/roodi/checks/control_coupling_check.rb
roodi-2.0.0 lib/roodi/checks/control_coupling_check.rb