class Tiding < ApplicationRecord
  belongs_to :user
  belongs_to :trigger_user, class_name: 'User', optional: true
  belongs_to :container, polymorphic: true, optional: true
  belongs_to :parent_container, polymorphic: true, optional: true
  belongs_to :belong_container, polymorphic: true, optional: true

  has_many :attachments, as: :container

  def identifier
    value = nil

    value = container.try(:identifier) rescue nil

    if value.blank? && parent_container_type
      value = parent_container_type.try(:identifier) rescue nil
    end

    if value.blank? && belong_container_type
      value = belong_container.try(:identifier) rescue nil
    end

    value
  end
end