remove Create or append to array in Ruby
ruby uniq (3)
foo ||=  foo << :element
Feels a little clunky. Is there a more idiomatic way?
You also could benefit from the Kernel#Array, like:
# foo = nil foo = Array(foo).push(:element) # => [:element]
which has the benefit of flattening a potential Array, like:
# foo =  foo = Array(foo).push(:element) # => [1, :element]
You can always use the push method on any array too. I like it better.
(a ||= ).push(:element)
(foo ||= ) << :element
But meh. Is it really so onerous to keep it readable?