# Any reason not to deep merge lwrp values and default?

**URL:** https://discourse.chef.io/t/any-reason-not-to-deep-merge-lwrp-values-and-default/6172
**Category:** Chef Infra (archive)
**Created:** [January 4, 2015, 1:10am UTC](https://discourse.chef.io/t/any-reason-not-to-deep-merge-lwrp-values-and-default/6172 "2015-01-04T01:10:16Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)
#### Post date: [January 4, 2015, 1:10am UTC](https://discourse.chef.io/t/any-reason-not-to-deep-merge-lwrp-values-and-default/6172/1 "2015-01-04T01:10:16Z")

</div>

Hello all,

I've realized that the deep merge done for node attributes is not done  
for LWRP attributes and theirs defaults. Is there any specific reason  
for that?.

I'm reimplementing set\_or\_return for this.

cheers,  
bráulio

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão  
[http://cirandas.net/brauliobo](http://cirandas.net/brauliobo)  
[http://eita.org.br](http://eita.org.br)

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é  
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a  
imaginação da Mente Macrocósmica, e todas as entidades estão sendo  
criadas, preservadas e destruídas nas fases de extroversão e  
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando  
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a  
única proprietária daquilo que ela imagina, e ninguém mais. Quando um  
ser humano criado mentalmente caminha por um milharal também  
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois  
ele pertence ao indivíduo que o está imaginando. Este universo foi  
criado na imaginação de Brahma, a Entidade Suprema, por isso a  
propriedade deste universo é de Brahma, e não dos microcosmos que  
também foram criados pela imaginação de Brahma. Nenhuma propriedade  
deste mundo, mutável ou imutável, pertence a um indivíduo em  
particular; tudo é o patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

### Author: ![coderanger](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/coderanger/32/5_2.png) [@coderanger](https://discourse.chef.io/u/coderanger)
#### Post date: [January 4, 2015, 1:20am UTC](https://discourse.chef.io/t/any-reason-not-to-deep-merge-lwrp-values-and-default/6172/2 "2015-01-04T01:20:54Z")

</div>

On Jan 3, 2015, at 5:10 PM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com) wrote:

> Hello all,
> 
> I've realized that the deep merge done for node attributes is not done  
> for LWRP attributes and theirs defaults. Is there any specific reason  
> for that?.
> 
> I'm reimplementing set\_or\_return for this.

Because resource attributes are used for a lot of different things and between the two, a simple || default is a better general semantic. Use the option\_collector helper in Poise to get the semantics you are probably looking for and a nicer syntax too.

--Noah

---

<div class="post-metadata">

### Author: ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)
#### Post date: [January 4, 2015, 1:26am UTC](https://discourse.chef.io/t/any-reason-not-to-deep-merge-lwrp-values-and-default/6172/3 "2015-01-04T01:26:26Z")

</div>

On Sat, Jan 3, 2015 at 10:20 PM, Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net) wrote:

> On Jan 3, 2015, at 5:10 PM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com) wrote:
> 
> > Hello all,
> > 
> > I've realized that the deep merge done for node attributes is not done  
> > for LWRP attributes and theirs defaults. Is there any specific reason  
> > for that?.
> > 
> > I'm reimplementing set\_or\_return for this.
> 
> Because resource attributes are used for a lot of different things and between the two, a simple || default is a better general semantic. Use the option\_collector helper in Poise to get the semantics you are probably looking for and a nicer syntax too.

Thanks. About Poise, I haven't realized how to use it. The gem and the  
cookbook are quite outdated.

> --Noah

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

> **[Bráulio Bhavamitra](https://cirandas.net/brauliobo)**

> **[Cooperativa EITA](https://eita.coop.br/)**
>
> Educação, Informação e Tecnologias para Autogestão

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é  
meu lar e todos nós somos cidadãos deste cosmo. Este universo é a  
imaginação da Mente Macrocósmica, e todas as entidades estão sendo  
criadas, preservadas e destruídas nas fases de extroversão e  
introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando  
uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a  
única proprietária daquilo que ela imagina, e ninguém mais. Quando um  
ser humano criado mentalmente caminha por um milharal também  
imaginado, a pessoa imaginada não é a propriedade desse milharal, pois  
ele pertence ao indivíduo que o está imaginando. Este universo foi  
criado na imaginação de Brahma, a Entidade Suprema, por isso a  
propriedade deste universo é de Brahma, e não dos microcosmos que  
também foram criados pela imaginação de Brahma. Nenhuma propriedade  
deste mundo, mutável ou imutável, pertence a um indivíduo em  
particular; tudo é o patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...

---

<div class="post-metadata">

### Author: ![brauliobo](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/brauliobo/32/109_2.png) [@brauliobo](https://discourse.chef.io/u/brauliobo)
#### Post date: [January 21, 2015, 12:01am UTC](https://discourse.chef.io/t/any-reason-not-to-deep-merge-lwrp-values-and-default/6172/4 "2015-01-21T00:01:37Z")

</div>

I ended up implemented that on my LWRPs. See

> **[Hierarchical, multi-instance and attributes oriented LWRP - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/hierarchical-multi-instance-and-attributes-oriented-lwrp)**
>
> When porting the biggest LWRP I maintain ( https://supermarket.chef.io/cookbooks/noosfero ) from the "old" fashion of node attributes to LWRPs, I had to face many conflicts from the shift of paradigm. In the end, I had mixed and used concepts of...

.

Noah: I still can't use Poise.

2015-01-03 22:26 GMT-03:00 Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com):

> On Sat, Jan 3, 2015 at 10:20 PM, Noah Kantrowitz [noah@coderanger.net](mailto:noah@coderanger.net)  
> wrote:
> 
> > On Jan 3, 2015, at 5:10 PM, Bráulio Bhavamitra [brauliobo@gmail.com](mailto:brauliobo@gmail.com)  
> > wrote:
> > 
> > > Hello all,
> > > 
> > > I've realized that the deep merge done for node attributes is not done  
> > > for LWRP attributes and theirs defaults. Is there any specific reason  
> > > for that?.
> > > 
> > > I'm reimplementing set\_or\_return for this.
> > 
> > Because resource attributes are used for a lot of different things and  
> > between the two, a simple || default is a better general semantic. Use the  
> > option\_collector helper in Poise to get the semantics you are probably  
> > looking for and a nicer syntax too.
> 
> Thanks. About Poise, I haven't realized how to use it. The gem and the  
> cookbook are quite outdated.
> 
> > --Noah
> 
> --  
> "Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
> ideologia. Morra por sua ideologia" P.R. Sarkar
> 
> EITA - Educação, Informação e Tecnologias para Autogestão  
> [http://cirandas.net/brauliobo](http://cirandas.net/brauliobo)  
> [http://eita.org.br](http://eita.org.br)
> 
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é  
> meu lar e todos nós somos cidadãos deste cosmo. Este universo é a  
> imaginação da Mente Macrocósmica, e todas as entidades estão sendo  
> criadas, preservadas e destruídas nas fases de extroversão e  
> introversão do fluxo imaginativo cósmico. No âmbito pessoal, quando  
> uma pessoa imagina algo em sua mente, naquele momento, essa pessoa é a  
> única proprietária daquilo que ela imagina, e ninguém mais. Quando um  
> ser humano criado mentalmente caminha por um milharal também  
> imaginado, a pessoa imaginada não é a propriedade desse milharal, pois  
> ele pertence ao indivíduo que o está imaginando. Este universo foi  
> criado na imaginação de Brahma, a Entidade Suprema, por isso a  
> propriedade deste universo é de Brahma, e não dos microcosmos que  
> também foram criados pela imaginação de Brahma. Nenhuma propriedade  
> deste mundo, mutável ou imutável, pertence a um indivíduo em  
> particular; tudo é o patrimônio comum de todos."  
> Restante do texto em  
> [A problemática de hoje em dia - Bráulio Bhavamitra](http://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)

--  
"Lute pela sua ideologia. Seja um com sua ideologia. Viva pela sua  
ideologia. Morra por sua ideologia" P.R. Sarkar

EITA - Educação, Informação e Tecnologias para Autogestão

> **[Bráulio Bhavamitra](https://cirandas.net/brauliobo)**

> **[Cooperativa EITA](https://eita.coop.br/)**
>
> Educação, Informação e Tecnologias para Autogestão

"Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu  
lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da  
Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e  
destruídas nas fases de extroversão e introversão do fluxo imaginativo  
cósmico. No âmbito pessoal, quando uma pessoa imagina algo em sua mente,  
naquele momento, essa pessoa é a única proprietária daquilo que ela  
imagina, e ninguém mais. Quando um ser humano criado mentalmente caminha  
por um milharal também imaginado, a pessoa imaginada não é a propriedade  
desse milharal, pois ele pertence ao indivíduo que o está imaginando. Este  
universo foi criado na imaginação de Brahma, a Entidade Suprema, por isso  
a propriedade deste universo é de Brahma, e não dos microcosmos que também  
foram criados pela imaginação de Brahma. Nenhuma propriedade deste mundo,  
mutável ou imutável, pertence a um indivíduo em particular; tudo é o  
patrimônio comum de todos."  
Restante do texto em

> **[A problemática de hoje em dia - Bráulio Bhavamitra](https://cirandas.net/brauliobo/blog/a-problematica-de-hoje-em-dia)**
>
> "Paramapurusha é meu pai e Parama Prakriti é minha mãe. O universo é meu lar e todos nós somos cidadãos deste cosmo. Este universo é a imaginação da Mente Macrocósmica, e todas as entidades estão sendo criadas, preservadas e destruídas nas fases de...
