Sha256: bf0b8345ab653c0a29fee7ef92c033ae4c399f22a50b771caaa9aa87198682b7

Contents?: true

Size: 1.47 KB

Versions: 5

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/transplants"
require "document/base"

module Renalware
  module Transplants
    class RecipientFollowup < ApplicationRecord
      include Document::Base
      extend Enumerize

      belongs_to :operation,
                 class_name: "RecipientOperation",
                 foreign_key: "operation_id",
                 touch: true
      belongs_to :transplant_failure_cause_description,
                 class_name: "Transplants::FailureCauseDescription",
                 foreign_key: "transplant_failure_cause_description_id"

      has_paper_trail class_name: "Renalware::Transplants::Version",
                      on: [:create, :update, :destroy]
      has_document class_name: "Renalware::Transplants::RecipientFollowupDocument"

      validates :stent_removed_on, timeliness: { type: :date, allow_blank: true }
      validates :graft_nephrectomy_on, timeliness: { type: :date, allow_blank: true }
      validates :transplant_failed_on, timeliness: { type: :date, allow_blank: true }
      validates :transplant_failed_on,
                presence: true,
                if: ->(o) { o.transplant_failed }
      validates :transplant_failure_cause_description_id,
                presence: true,
                if: ->(o) { o.transplant_failed }
      validates :transplant_failure_cause_other,
                presence: true,
                if: ->(o) { o.transplant_failure_cause_description.try(:name) == "Other" }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
renalware-core-2.0.82 app/models/renalware/transplants/recipient_followup.rb
renalware-core-2.0.81 app/models/renalware/transplants/recipient_followup.rb
renalware-core-2.0.80 app/models/renalware/transplants/recipient_followup.rb
renalware-core-2.0.79 app/models/renalware/transplants/recipient_followup.rb
renalware-core-2.0.78 app/models/renalware/transplants/recipient_followup.rb