Class: MetricFu::Saikuro::ParsingElement

Inherits:
Object
  • Object
show all
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

Instance Method Summary collapse

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

#complexityObject (readonly)

Returns the value of attribute complexity.



170
171
172
# File 'lib/generators/saikuro.rb', line 170

def complexity
  @complexity
end

#defsObject (readonly)

Returns the value of attribute defs.



170
171
172
# File 'lib/generators/saikuro.rb', line 170

def defs
  @defs
end

#element_typeObject (readonly)

Returns the value of attribute element_type.



170
171
172
# File 'lib/generators/saikuro.rb', line 170

def element_type
  @element_type
end

#linesObject (readonly)

Returns the value of attribute lines.



170
171
172
# File 'lib/generators/saikuro.rb', line 170

def lines
  @lines
end

#nameObject

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_hObject



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