Class: MetzScan::Analyzers::SubclassOverridePressure::Finding

Inherits:
Struct
  • Object
show all
Defined in:
lib/metz_scan/analyzers/subclass_override_pressure/finding.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#base_nameObject

Returns the value of attribute base_name

Returns:

  • (Object)

    the current value of base_name



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def base_name
  @base_name
end

#confidenceObject

Returns the value of attribute confidence

Returns:

  • (Object)

    the current value of confidence



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def confidence
  @confidence
end

#descendant_countObject

Returns the value of attribute descendant_count

Returns:

  • (Object)

    the current value of descendant_count



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def descendant_count
  @descendant_count
end

#messageObject

Returns the value of attribute message

Returns:

  • (Object)

    the current value of message



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def message
  @message
end

#method_identityObject

Returns the value of attribute method_identity

Returns:

  • (Object)

    the current value of method_identity



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def method_identity
  @method_identity
end

#method_nameObject

Returns the value of attribute method_name

Returns:

  • (Object)

    the current value of method_name



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def method_name
  @method_name
end

#occurrencesObject

Returns the value of attribute occurrences

Returns:

  • (Object)

    the current value of occurrences



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def occurrences
  @occurrences
end

#overriding_descendantsObject

Returns the value of attribute overriding_descendants

Returns:

  • (Object)

    the current value of overriding_descendants



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def overriding_descendants
  @overriding_descendants
end

#project_analyzer_metadataObject

Returns the value of attribute project_analyzer_metadata

Returns:

  • (Object)

    the current value of project_analyzer_metadata



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def 
  @project_analyzer_metadata
end

#project_analyzer_statusObject

Returns the value of attribute project_analyzer_status

Returns:

  • (Object)

    the current value of project_analyzer_status



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def project_analyzer_status
  @project_analyzer_status
end

#receiver_kindObject

Returns the value of attribute receiver_kind

Returns:

  • (Object)

    the current value of receiver_kind



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def receiver_kind
  @receiver_kind
end

#rule_idObject

Returns the value of attribute rule_id

Returns:

  • (Object)

    the current value of rule_id



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def rule_id
  @rule_id
end

#sourceObject

Returns the value of attribute source

Returns:

  • (Object)

    the current value of source



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def source
  @source
end

#suggested_next_movesObject

Returns the value of attribute suggested_next_moves

Returns:

  • (Object)

    the current value of suggested_next_moves



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def suggested_next_moves
  @suggested_next_moves
end

#triage_severityObject

Returns the value of attribute triage_severity

Returns:

  • (Object)

    the current value of triage_severity



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def triage_severity
  @triage_severity
end

#triage_summaryObject

Returns the value of attribute triage_summary

Returns:

  • (Object)

    the current value of triage_summary



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def triage_summary
  @triage_summary
end

#why_it_mattersObject

Returns the value of attribute why_it_matters

Returns:

  • (Object)

    the current value of why_it_matters



8
9
10
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 8

def why_it_matters
  @why_it_matters
end

Instance Method Details

#method_separator(occurrence) ⇒ Object



22
23
24
25
26
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 22

def method_separator(occurrence)
  return "#" unless occurrence.respond_to?(:receiver_kind)

  occurrence.receiver_kind == "singleton" ? "." : "#"
end

#occurrence_context(occurrence) ⇒ Object



18
19
20
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 18

def occurrence_context(occurrence)
  "#{occurrence&.owner_name}#{method_separator(occurrence)}#{method_name}"
end

#report_occurrencesObject



13
14
15
16
# File 'lib/metz_scan/analyzers/subclass_override_pressure/finding.rb', line 13

def report_occurrences
  occurrence = occurrences.first
  [Occurrence.from(occurrence, context: occurrence_context(occurrence))].compact
end