# Valida que um atributo não pode ser menor que o exercicio do orçamento
# Utilização:
# validates :atributo, mesmo_exercicio_do_pai: true
class MesmoExercicioDoPaiValidator < ActiveModel::EachValidator
	def validate_each(record, attribute, value)
		unless record.orcamento.present? && record.send(attribute).kind_of?(Date) && ( record.send(attribute).to_date.beginning_of_year == DateTime.new(record.orcamento.exercicio) )
			record.errors[attribute] << (options[:message] || "deve ser do mesmo exercício do orçamento")
		end
	end
end
