Class: SmartBrain::Contracts::EvidencePack

Inherits:
Object
  • Object
show all
Defined in:
lib/smart_brain/contracts/evidence_pack.rb

Constant Summary collapse

REQUIRED_KEYS =
%i[version request_id plan_id generated_at evidences].freeze

Class Method Summary collapse

Class Method Details

.validate!(pack) ⇒ Object

Raises:

  • (ArgumentError)


8
9
10
11
12
13
# File 'lib/smart_brain/contracts/evidence_pack.rb', line 8

def self.validate!(pack)
  missing = REQUIRED_KEYS.reject { |key| pack.key?(key) }
  raise ArgumentError, "invalid evidence pack: missing #{missing.join(', ')}" unless missing.empty?

  true
end