Module: Necropsy::EvidenceStore
- Included in:
- CallGraph
- Defined in:
- lib/necropsy/graph/evidence_store.rb
Constant Summary collapse
- PROJECTIONS =
%i[exact conservative observed].freeze
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.normalize_projection(projection) ⇒ Object
9 10 11 12 13 14 |
# File 'lib/necropsy/graph/evidence_store.rb', line 9 def self.normalize_projection(projection) normalized = projection.to_sym if projection.respond_to?(:to_sym) return normalized if PROJECTIONS.include?(normalized) raise ArgumentError, "projection must be one of: #{PROJECTIONS.join(', ')}" end |
Instance Method Details
#evidence_collisions ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/necropsy/graph/evidence_store.rb', line 24 def evidence_collisions @evidence_collision_payloads.keys.sort.map do |evidence_id| { 'evidence_id' => evidence_id, 'payload_sha256s' => @evidence_collision_payloads.fetch(evidence_id).to_a.sort, 'domains' => @evidence_domains.fetch(evidence_id, Set.new).map(&:to_s).sort } end.freeze end |
#evidence_record(evidence_id) ⇒ Object
20 21 22 |
# File 'lib/necropsy/graph/evidence_store.rb', line 20 def evidence_record(evidence_id) @evidence_records_by_id[evidence_id.to_s] end |
#evidence_records ⇒ Object
16 17 18 |
# File 'lib/necropsy/graph/evidence_store.rb', line 16 def evidence_records @evidence_records_by_id.values.sort_by(&:evidence_id).freeze end |