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.



178
179
180
181
182
183
184
185
# File 'lib/generators/saikuro.rb', line 178

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.



175
176
177
# File 'lib/generators/saikuro.rb', line 175

def complexity
  @complexity
end

#defsObject (readonly)

Returns the value of attribute defs.



175
176
177
# File 'lib/generators/saikuro.rb', line 175

def defs
  @defs
end

#element_typeObject (readonly)

Returns the value of attribute element_type.



175
176
177
# File 'lib/generators/saikuro.rb', line 175

def element_type
  @element_type
end

#linesObject (readonly)

Returns the value of attribute lines.



175
176
177
# File 'lib/generators/saikuro.rb', line 175

def lines
  @lines
end

#nameObject

Returns the value of attribute name.



176
177
178
# File 'lib/generators/saikuro.rb', line 176

def name
  @name
end

Instance Method Details

#<<(line) ⇒ Object



187
188
189
# File 'lib/generators/saikuro.rb', line 187

def <<(line)
  @defs << Saikuro::ParsingElement.new(line)
end

#to_hObject



191
192
193
194
195
196
197
198
199
200
201
202
# File 'lib/generators/saikuro.rb', line 191

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