Class: MetricFu::Saikuro::ParsingElement
- Inherits:
-
Object
- Object
- MetricFu::Saikuro::ParsingElement
- Defined in:
- lib/generators/saikuro.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) ⇒ ParsingElement
constructor
A new instance of ParsingElement.
- #to_h ⇒ Object
Constructor Details
#initialize(line) ⇒ ParsingElement
Returns a new instance of ParsingElement.
173 174 175 176 177 178 179 180 |
# File 'lib/generators/saikuro.rb', line 173 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.
170 171 172 |
# File 'lib/generators/saikuro.rb', line 170 def complexity @complexity end |
#defs ⇒ Object (readonly)
Returns the value of attribute defs.
170 171 172 |
# File 'lib/generators/saikuro.rb', line 170 def defs @defs end |
#element_type ⇒ Object (readonly)
Returns the value of attribute element_type.
170 171 172 |
# File 'lib/generators/saikuro.rb', line 170 def element_type @element_type end |
#lines ⇒ Object (readonly)
Returns the value of attribute lines.
170 171 172 |
# File 'lib/generators/saikuro.rb', line 170 def lines @lines end |
#name ⇒ Object
Returns the value of attribute name.
171 172 173 |
# File 'lib/generators/saikuro.rb', line 171 def name @name end |
Instance Method Details
#<<(line) ⇒ Object
182 183 184 |
# File 'lib/generators/saikuro.rb', line 182 def <<(line) @defs << Saikuro::ParsingElement.new(line) end |
#to_h ⇒ Object
186 187 188 189 190 191 192 193 194 195 196 197 |
# File 'lib/generators/saikuro.rb', line 186 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 return base end |