Controlar serialização YAML em Ruby

Ao serializar um objeto para yaml em Ruby, por padrão, ele serializará todas as variáveis ​​de instância desse objeto. Isso pode causar alguns problemas, o Procs não pode ser desserializado e você pode querer excluir algumas outras variáveis.

Isso é especialmente útil quando usado com ActiveRecord para armazenar alguns objetos no banco de dados.

Felizmente, Ruby nos oferece um gancho para isso.

Você pode especificar o que é serializado para yaml assim:

def to_yaml_properties
[:@id]
end

outro exemplo:

def to_yaml_properties
instance_variables
- [:@some, :@another]
end

Feliz serialização!