Sha256: 1b33145ba6dfdd072dabd02e77f6cf1f8cd003a72213c0f4ede66ab6be63742a

Contents?: true

Size: 1.28 KB

Versions: 35

Compression:

Stored size: 1.28 KB

Contents

# frozen_string_literal: true

require_dependency "renalware/problems"

module Renalware
  module Problems
    class Problem < ApplicationRecord
      include PatientScope
      include Accountable

      acts_as_paranoid
      has_paper_trail class_name: "Renalware::Problems::Version"

      belongs_to :patient, touch: true
      has_many :notes, dependent: :destroy

      scope :ordered, -> { order(position: :asc) }
      scope :with_notes, -> { includes(:notes) }
      scope :with_patient, ->{ includes(:patient) }

      validates :patient, presence: true
      validates :description, presence: true

      def self.with_archived
        with_deleted
      end

      def self.current
        all.with_notes
      end

      def self.archived
        only_deleted.with_notes
      end

      def archived?
        deleted?
      end

      def archived_at
        deleted_at
      end

      def archived_on
        deleted_at.to_date
      end

      def created_on
        created_at.to_date
      end

      def updated_on
        updated_at.to_date
      end

      def self.reject_if_proc
        proc { |attrs| attrs[:description].blank? }
      end

      def full_description
        description
      end

      def formatted
        "#{full_description}, #{date}"
      end
    end
  end
end

Version data entries

35 entries across 35 versions & 1 rubygems

Version Path
renalware-core-2.0.46 app/models/renalware/problems/problem.rb
renalware-core-2.0.45 app/models/renalware/problems/problem.rb
renalware-core-2.0.44 app/models/renalware/problems/problem.rb
renalware-core-2.0.43 app/models/renalware/problems/problem.rb
renalware-core-2.0.42 app/models/renalware/problems/problem.rb
renalware-core-2.0.41 app/models/renalware/problems/problem.rb
renalware-core-2.0.40 app/models/renalware/problems/problem.rb
renalware-core-2.0.39 app/models/renalware/problems/problem.rb
renalware-core-2.0.38 app/models/renalware/problems/problem.rb
renalware-core-2.0.37 app/models/renalware/problems/problem.rb
renalware-core-2.0.36 app/models/renalware/problems/problem.rb
renalware-core-2.0.35 app/models/renalware/problems/problem.rb
renalware-core-2.0.34 app/models/renalware/problems/problem.rb
renalware-core-2.0.33 app/models/renalware/problems/problem.rb
renalware-core-2.0.32 app/models/renalware/problems/problem.rb
renalware-core-2.0.31 app/models/renalware/problems/problem.rb
renalware-core-2.0.30 app/models/renalware/problems/problem.rb
renalware-core-2.0.28 app/models/renalware/problems/problem.rb
renalware-core-2.0.27 app/models/renalware/problems/problem.rb
renalware-core-2.0.26 app/models/renalware/problems/problem.rb