Descrição
Cria classes Ruby parecidas com Struct, imutáveis e com construtores convenientes. É útil para objetos de valor, registros de configuração e dados passados entre camadas quando mutação acidental seria um erro.
Imutabilidade ajuda na clareza, mas não valida significado sozinha. Defina campos obrigatórios, padrões e expectativas de tipo perto do ponto em que os objetos são criados.