class DonationFeature < ApplicationRecord
  belongs_to :donation
  belongs_to :outfit, optional: true

  validates :outfit, presence: true, if: :outfit_id_present?

  delegate :donor_name, to: :donation

  def as_json(options={})
    {donor_name: donor_name, outfit_image_url: outfit_image_url}
  end

  def outfit_url=(outfit_url)
    self.outfit_id = outfit_url.split('/').last rescue nil
  end

  def outfit_id_present?
    outfit_id.present?
  end

  def outfit_image_url
    outfit && outfit.image ? outfit.image.medium.url : nil
  end
end