Class: BloodContracts::Contracts::Validator

Inherits:
Object
  • Object
show all
Extended by:
Dry::Initializer
Defined in:
lib/blood_contracts/contracts/validator.rb

Instance Method Summary collapse

Instance Method Details

#valid?(statistics) ⇒ Boolean

Returns:

  • (Boolean)


8
9
10
11
12
13
14
15
16
# File 'lib/blood_contracts/contracts/validator.rb', line 8

def valid?(statistics)
  return if statistics.found_unexpected_behavior?

  last_run_stats = statistics.to_h
  expectations.all? do |rule, check|
    percent = last_run_stats[rule.name]&.percent || 0.0
    check.call(percent, rule)
  end
end