35 lines
1.1 KiB
Ruby
35 lines
1.1 KiB
Ruby
# == 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
|