You have to be careful with using Array() to transform a non-array into an array. Suppose for example you wanted an array of hashes:
>> Array([{:a => "b"}])
=> [{:a=>"b"}]
>> Array({:a => "b"})
=> [[:a, "b"]]
It doesn't work as you might expect with a Hash. I'd probably recommend sticking with something like either of these unless you know you aren't going to be getting a Hash: a = [a] unless a.is_a?(Array) # option 1
a = [*a] # option 2