If you think that method would be useful there is no reason why it should be Rails specific. Please send a feature request to the Ruby issue tracker here https://bugs.ruby-lang.org/.
Rafael França On May 11, 2018, 13:10 -0400, Alberto Almagro <albertoalma...@gmail.com>, wrote: > These days I have been comparing records in my daily job lots of times, which > made me think about a better way to retrieve and compare them. When I want to > navigate through several relations in a collection I often see myself writing > code like the following: > > Given orders as a collection of Order: > > orders.map(&:order_option).map(&:item).map(&:title) > => ['Foo', 'Bar', 'Baz'] > > That is, chaining maps with Symbol to Proc coercions one after each other. > Sharing my thoughts with my company's architect we came up with the > alternative: > > orders.map { |order| order&.order_option&.item&.title } > > But we agreed that the notation was awful and didn't improve what we had > before. With this, I proposed what I think it is more like what we would > expect Ruby to have. I would like to add a notation similar to the one we can > find at Array#dig or Hash#dig in the following manner: > > orders.map(&:order_option, &:item, &:title) > The method doesn't necessarily need to be named map or collect, we can agree > on a different name for it if you want. Please share your thoughts with me. > If you like this, I would be very happy to write a PR to include it in Rails. > > Cheers, > Alberto Almagro > -- > You received this message because you are subscribed to the Google Groups > "Ruby on Rails: Core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to rubyonrails-core+unsubscr...@googlegroups.com. > To post to this group, send email to rubyonrails-core@googlegroups.com. > Visit this group at https://groups.google.com/group/rubyonrails-core. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-core+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-core@googlegroups.com. Visit this group at https://groups.google.com/group/rubyonrails-core. For more options, visit https://groups.google.com/d/optout.