Sha256: 0d1b953536e6b0878a99ca9c0ca92d08b59241fe8a9c49d3562e53b4f0081fec
Contents?: true
Size: 1.23 KB
Versions: 28
Compression:
Stored size: 1.23 KB
Contents
require_dependency "renalware/accesses" module Renalware module Accesses class Profile < ApplicationRecord include Accountable extend Enumerize belongs_to :patient, touch: true belongs_to :type, class_name: "Type" has_paper_trail class_name: "Renalware::Accesses::Version" scope :ordered, -> { order(formed_on: :desc) } scope :current, -> { where(<<-SQL.squish, date: Time.zone.today) started_on <= :date AND (terminated_on IS NULL OR terminated_on > :date) SQL } scope :past_and_future, -> { where(<<-SQL.squish, date: Time.zone.today) (started_on > :date OR started_on IS NULL) OR (terminated_on IS NOT NULL AND terminated_on <= :date) SQL } validates :type, presence: true validates :side, presence: true validates :formed_on, presence: true validates :formed_on, timeliness: { type: :date, allow_blank: false } validates :started_on, timeliness: { type: :date, allow_blank: true } validates :terminated_on, timeliness: { type: :date, allow_blank: true } enumerize :side, in: %i(left right) def self.policy_class BasePolicy end end end end
Version data entries
28 entries across 28 versions & 1 rubygems