Я думаю, что у вас есть хороший, краткий способ написания кода, но ниже приведен еще один способ сделать то же самое. Он все равно сделает свою работу, если вы предпочитаете быть более многословным:
if @foo.nil?
@foo = { :bar => { :baz => {} } }
else if @foo[:bar].nil?
@foo[:bar] = { :baz => {} }
else if @foo[:bar][:baz].nil?
@foo[:bar][:baz] = {}
end
или
if !@foo
@foo = { :bar => { :baz => {} } }
else if !@foo[:bar]
@foo[:bar] = { :baz => {} }
else if !@foo[:bar][:baz]
@foo[:bar][:baz] = {}
end