As &
marcas de um alias para o nó (no seu exemplo &default
aliases o nó desenvolvimento como "default") e as *
referências ao nó alias com o nome "default". O <<:
insere o conteúdo desse nó.
Permita-me citar a especificação YAML aqui:
Os nós repetidos (objetos) são identificados primeiro por uma âncora (marcada com o e comercial - "&") e, em seguida, são alternados (referenciados com um asterisco - "*") a partir de então.
Então, partes do seu exemplo
development: &default
adapter: postgresql
database: dev_development
test: &test
<<: *default
database: test_test
realmente expandir para
development: &default
adapter: postgresql
database: dev_development
test: &test
adapter: postgresql # from the "default" alias
database: test_test # overridden by the duplicate key
e, ao mesmo tempo, disponibilize o nó "test" também no alias "test".
Dê uma olhada na especificação YAML - 2.2 Structures para obter mais detalhes (ou se você precisar de documentos moar ++: 3.2.2.2. Âncoras e aliases )