class MetricFu::SaikuroParsingElement
Constants
- COMPLEXITY_REGEX
- LINES_REGEX
- NAME_REGEX
- TYPE_REGEX
Attributes
complexity[R]
defs[R]
element_type[R]
lines[R]
name[RW]
Public Class Methods
new(line)
click to toggle source
# File lib/metric_fu/metrics/saikuro/parsing_element.rb, line 11 def initialize(line) @line = line @element_type = line.match(TYPE_REGEX)[1].strip @name = line.match(NAME_REGEX)[1].strip @complexity = line.match(COMPLEXITY_REGEX)[1].strip @lines = line.match(LINES_REGEX)[1].strip @defs = [] end
Public Instance Methods
<<(line)
click to toggle source
# File lib/metric_fu/metrics/saikuro/parsing_element.rb, line 20 def <<(line) @defs << MetricFu::SaikuroParsingElement.new(line) end
to_h()
click to toggle source
# File lib/metric_fu/metrics/saikuro/parsing_element.rb, line 24 def to_h base = { name: @name, complexity: @complexity.to_i, lines: @lines.to_i } unless @defs.empty? defs = @defs.map do |my_def| my_def = my_def.to_h my_def.delete(:defs) my_def end base[:defs] = defs end base end