class PuppetLint::Metrics::Abc
Attributes
metrics[R]
Public Class Methods
new()
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 8 def initialize() @@abc_visitor ||= Puppet::Pops::Visitor.new(nil, "abc", 0, 0) @metrics = { assignment: 0, branch: 0, conditional: 0, } end
Public Instance Methods
abc(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 22 def abc(o) @@abc_visitor.visit_this_0(self, o) end
abc_AssignmentExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 42 def abc_AssignmentExpression(o) assignment end
abc_AttributeOperation(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 46 def abc_AttributeOperation(o) assignment end
abc_BlockExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 62 def abc_BlockExpression(o) branch end
abc_CallExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 58 def abc_CallExpression(o) branch end
abc_CaseExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 98 def abc_CaseExpression(o) conditional end
abc_CollectorExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 54 def abc_CollectorExpression(o) branch end
abc_ComparisonExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 78 def abc_ComparisonExpression(o) conditional end
abc_EqualityExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 66 def abc_EqualityExpression(o) conditional end
abc_IfExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 90 def abc_IfExpression(o) conditional end
abc_InExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 82 def abc_InExpression(o) conditional end
abc_MatchExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 70 def abc_MatchExpression(o) conditional end
abc_NotExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 86 def abc_NotExpression(o) conditional end
abc_NotMatchExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 74 def abc_NotMatchExpression(o) conditional end
abc_Object(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 26 def abc_Object(o) nil end
abc_ResourceExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 50 def abc_ResourceExpression(o) branch end
abc_SelectorExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 102 def abc_SelectorExpression(o) conditional end
abc_UnlessExpression(o)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 94 def abc_UnlessExpression(o) conditional end
assignment()
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 38 def assignment @metrics[:assignment] += 1 end
branch()
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 34 def branch @metrics[:branch] += 1 end
compute(target)
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 17 def compute(target) target.eAllContents.each { |m| abc(m) } [@metrics, Math.sqrt(@metrics[:assignment]**2 + @metrics[:branch]**2 + @metrics[:conditional]**2).round(2)] end
conditional()
click to toggle source
# File lib/puppet-lint/metrics/abc.rb, line 30 def conditional @metrics[:conditional] += 1 end