Sha256: cc1592edf833586e20ae7595c4557bd57f6762de9a29fdc28709ba919aabfcbd
Contents?: true
Size: 820 Bytes
Versions: 9
Compression:
Stored size: 820 Bytes
Contents
# frozen_string_literal: true module Renalware module Patients class BloodPressureValidator < ActiveModel::Validator include NumericRangeValidations MIN_VALUE = 20 MAX_VALUE = 300 def validate(bp) apply_validations(bp) if bp.present? end private def apply_validations(bp) validate_number_is_in_range(bp, :systolic, bp.systolic, MIN_VALUE, MAX_VALUE) validate_number_is_in_range(bp, :diastolic, bp.diastolic, MIN_VALUE, MAX_VALUE) validate_diastolic_less_than_systolic(bp) end def validate_diastolic_less_than_systolic(bp) errors = bp.errors return if errors.any? unless bp.diastolic < bp.systolic errors.add(:diastolic, :must_be_less_than_systolic) end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems