# == Schema Information # # Table name: follows # # id :integer not null, primary key # annotations_privees_seen_at :datetime not null # avis_seen_at :datetime not null # demande_seen_at :datetime not null # messagerie_seen_at :datetime not null # unfollowed_at :datetime # created_at :datetime # updated_at :datetime # dossier_id :integer not null # instructeur_id :integer not null # class Follow < ApplicationRecord belongs_to :instructeur, optional: false belongs_to :dossier, optional: false validates :instructeur_id, uniqueness: { scope: [:dossier_id, :unfollowed_at] } before_create :set_default_date scope :active, -> { where(unfollowed_at: nil) } scope :inactive, -> { where.not(unfollowed_at: nil) } private def set_default_date self.demande_seen_at ||= Time.zone.now self.annotations_privees_seen_at ||= Time.zone.now self.avis_seen_at ||= Time.zone.now self.messagerie_seen_at ||= Time.zone.now end end