Class: Necropsy::Finding

Inherits:
Data
  • Object
show all
Defined in:
lib/necropsy/models.rb

Constant Summary collapse

LEVELS =
{
  low: 0,
  medium: 1,
  high: 2,
  certain: 3
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#classificationObject (readonly)

Returns the value of attribute classification

Returns:

  • (Object)

    the current value of classification



136
137
138
# File 'lib/necropsy/models.rb', line 136

def classification
  @classification
end

#confidenceObject (readonly)

Returns the value of attribute confidence

Returns:

  • (Object)

    the current value of confidence



136
137
138
# File 'lib/necropsy/models.rb', line 136

def confidence
  @confidence
end

#evidencesObject (readonly)

Returns the value of attribute evidences

Returns:

  • (Object)

    the current value of evidences



136
137
138
# File 'lib/necropsy/models.rb', line 136

def evidences
  @evidences
end

#nodeObject (readonly)

Returns the value of attribute node

Returns:

  • (Object)

    the current value of node



136
137
138
# File 'lib/necropsy/models.rb', line 136

def node
  @node
end

#reasonsObject (readonly)

Returns the value of attribute reasons

Returns:

  • (Object)

    the current value of reasons



136
137
138
# File 'lib/necropsy/models.rb', line 136

def reasons
  @reasons
end

#scoreObject (readonly)

Returns the value of attribute score

Returns:

  • (Object)

    the current value of score



136
137
138
# File 'lib/necropsy/models.rb', line 136

def score
  @score
end

Instance Method Details

#at_least?(level) ⇒ Boolean

Returns:

  • (Boolean)


144
145
146
# File 'lib/necropsy/models.rb', line 144

def at_least?(level)
  LEVELS.fetch(confidence) >= LEVELS.fetch(level)
end

#fingerprintObject



148
149
150
# File 'lib/necropsy/models.rb', line 148

def fingerprint
  node.fingerprint(classification)
end

#to_hObject



152
153
154
155
156
157
158
159
160
161
162
# File 'lib/necropsy/models.rb', line 152

def to_h
  {
    'fingerprint' => fingerprint,
    'classification' => classification.to_s,
    'confidence' => confidence.to_s,
    'score' => score,
    'node' => node.to_h,
    'reasons' => reasons,
    'evidences' => evidences.map(&:to_h)
  }
end