# Valida que um atributo não pode ser alterado após a criação do objeto
# Utilização:
# validates :atributo, casas_decimais: 2
class CasasDecimaisValidator < ActiveModel::EachValidator
	def validate_each(record, attribute, value)
		valor_de_teste = 10**options[:with]
		record.errors.add(attribute, "Deve conter no máximo #{options[:with]} casas decimais") if record.send(attribute).present? && ((record.send(attribute).frac)*valor_de_teste) != ((record.send(attribute).frac)*valor_de_teste).to_i
	end
end
