# Valida que um atributo não pode ser alterado após a criação do objeto
# Utilização:
# validates :atributo, immutable: true
class ImmutableValidator < ActiveModel::EachValidator
	def validate_each(record, attribute, value)
		if record.persisted? && record.changed_attributes.include?( attribute.to_s )
			record.errors[attribute] << (options[:message] || "não pode ser alterado")
		end
	end
end
