More readable/writtable attributes



Having worked with other bespoke deployment systems I really appreciate how
attributes are neatly implemented in Chef. That said I find them really
cumbersome to both read and write. At the moment I tend to write large
blocks at the top of my recipes which look something like this:

foo =node[‘app’][‘foo’]

bar =node[‘app’][‘bar’]

baz =node[‘app’][‘bar’] + ‘/’ + node[‘app’][‘foo’]

This works out fine but creates one level of indirection that I really wish
I could avoid. Does anyone have any good coding practices or are there some
tricks I am not aware of to have more writable/readable attributes?