class Licitacao::AcaoDaOperacaoDeCreditoDoContrato < ApplicationRecord
  has_paper_trail

  belongs_to :operacao_de_credito_do_contrato, class_name: "Licitacao::OperacaoDeCreditoDoContrato"
  belongs_to :componente_da_operacao_de_credito, class_name: "Obra::ComponenteDaOperacaoDeCredito"
  belongs_to :acao_do_componente, class_name: "Obra::AcaoDoComponente"

  validates :operacao_de_credito_do_contrato_id, :componente_da_operacao_de_credito_id, :acao_do_componente_id, :valor_da_acao, presence: true

  after_update :apaga_a_si_mesmo_se_valor_da_acao_igual_a_zero

  def apaga_a_si_mesmo_se_valor_da_acao_igual_a_zero
    self.delete unless self.valor_da_acao.to_f > 0
  end

end
