Sha256: 8786283ef58fc4cc514f8cfb6ca2bffa922226fe4c3661cb0c544b3e583e4f06

Contents?: true

Size: 789 Bytes

Versions: 27

Compression:

Stored size: 789 Bytes

Contents

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

27 entries across 27 versions & 1 rubygems

Version Path
renalware-core-2.0.16 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.15 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.14 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.13 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.12 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.11 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.9 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.8 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.7 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.5 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.4 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.3 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.2 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.1 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.0 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.0.pre.rc13 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.0.pre.rc11 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.0.pre.rc10 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.0.pre.rc9 app/validators/renalware/patients/blood_pressure_validator.rb
renalware-core-2.0.0.pre.rc8 app/validators/renalware/patients/blood_pressure_validator.rb