Opened 19 months ago

Last modified 2 months ago

#26185 new task

rbm should do deep merge of options hashes

Reported by: boklm Owned by: boklm
Priority: Medium Milestone:
Component: Applications/rbm Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

In templates, when using the c() or pc() functions, it is possible to give as 2nd or 3rd argument an hash table containing variables to be overridden. To do that, we merge this hash table into the main options hash table. However we only merge one level, which means that if the new options hash table contains variables in a second level with something like var => { option_1 => 'value1' }, then var is replaced instead of merged, and all var/* options other than option_1 are removed.

Child Tickets

Change History (1)

comment:1 Changed 2 months ago by boklm

Hash::Merge and Hash::Merge::Simple look like two modules we could use for that:
https://metacpan.org/pod/Hash::Merge
https://metacpan.org/pod/Hash::Merge::Simple

Note: See TracTickets for help on using tickets.