Class: MetricFu::SaikuroParsingElement
- Inherits:
-
Object
- Object
- MetricFu::SaikuroParsingElement
- Defined in:
- lib/metric_fu/metrics/saikuro/parsing_element.rb
Constant Summary collapse
- TYPE_REGEX =
/Type:(.*) Name/
- NAME_REGEX =
/Name:(.*) Complexity/
- COMPLEXITY_REGEX =
/Complexity:(.*) Lines/
- LINES_REGEX =
/Lines:(.*)/
Instance Attribute Summary collapse
-
#complexity ⇒ Object
readonly
Returns the value of attribute complexity.
-
#defs ⇒ Object
readonly
Returns the value of attribute defs.
-
#element_type ⇒ Object
readonly
Returns the value of attribute element_type.
-
#lines ⇒ Object
readonly
Returns the value of attribute lines.
-
#name ⇒ Object
Returns the value of attribute name.
Instance Method Summary collapse
- #<<(line) ⇒ Object
-
#initialize(line) ⇒ SaikuroParsingElement
constructor
A new instance of SaikuroParsingElement.
- #to_h ⇒ Object
Constructor Details
#initialize(line) ⇒ SaikuroParsingElement
Returns a new instance of SaikuroParsingElement.
11 12 13 14 15 16 17 18 |
# 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 |
Instance Attribute Details
#complexity ⇒ Object (readonly)
Returns the value of attribute complexity.
8 9 10 |
# File 'lib/metric_fu/metrics/saikuro/parsing_element.rb', line 8 def complexity @complexity end |
#defs ⇒ Object (readonly)
Returns the value of attribute defs.
8 9 10 |
# File 'lib/metric_fu/metrics/saikuro/parsing_element.rb', line 8 def defs @defs end |
#element_type ⇒ Object (readonly)
Returns the value of attribute element_type.
8 9 10 |
# File 'lib/metric_fu/metrics/saikuro/parsing_element.rb', line 8 def element_type @element_type end |
#lines ⇒ Object (readonly)
Returns the value of attribute lines.
8 9 10 |
# File 'lib/metric_fu/metrics/saikuro/parsing_element.rb', line 8 def lines @lines end |
#name ⇒ Object
Returns the value of attribute name.
9 10 11 |
# File 'lib/metric_fu/metrics/saikuro/parsing_element.rb', line 9 def name @name end |
Instance Method Details
#<<(line) ⇒ Object
20 21 22 |
# File 'lib/metric_fu/metrics/saikuro/parsing_element.rb', line 20 def <<(line) @defs << MetricFu::SaikuroParsingElement.new(line) end |
#to_h ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# 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 |