Having an OrderedHash that saves insertion order is useful enough and I 
personally don't see a reason for a custom ordered hash.
Wouldn't it be less expensive to order only the keys in a separate array and 
access the hash rather than creating a new hash?

My 2 cents.
--
@gautamrege
~~~~~~~~~~~~~~~
All wiyht. Rho sritched mg kegtops awound?

On 24-Feb-2014, at 8:58 pm, Artem Kalinchuk <[email protected]> wrote:

> Would a custom order of a hash be useful in Rails?
> 
> If I have the following Hash:
> 
> my_hash = { key1: 'value', key2: 'value', key3: 'value' }
> 
> And I want to order it by the following keys:
> 
> my_hash = my_hash.order(:key2, :key1, :key3)
> 
> I would get a new hash with the following result:
> 
> puts my_hash
> => { key2: 'value', key1: 'value', key3: 'value' }
> 
> Using the following code:
> 
> class Hash
>   def order(*keys)
>     Hash[keys.collect {|k| self[k] ? [k, self[k]] : nil }.compact]
>   end
> end
> 
> Any thoughts?
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/rubyonrails-talk/285cec00-c279-405b-982e-0710501bcb68%40googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/AE2882EE-E9F3-45F2-B036-493DA2EC9E8A%40gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to