Array.second_to_last and Array.third_to_last access methods - #23583
Conversation
|
Thanks for the pull request, and welcome! The Rails team is excited to review your changes, and you should hear from @pixeltrix (or someone else) soon. If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes. Please see the contribution instructions for more information. |
|
Good thinking. I've wanted this as well! I'd prefer to go with second_to_last + third_to_last, though. penultimate and antepenultimate are both long, cumbersome, and little used words. Welcome to Rails contributions! |
|
Thank you! Yeah, |
|
@brchristian this needs CHANGELOG entry. |
|
Thanks! Added activerecord and activesupport CHANGELOG entries in eaa1efe. |
Array.second_to_last and Array.third_to_last access methods
|
Next up: |
|
@jeremy my 💸 is on |
|
🤘 |
Reading @dhh's Rails Doctrine essay got me thinking a lot about Rails'
secondandfifthaccessor methods, which I (like DHH) love so much.One of the things that has occurred to me about once every month or two since I began working with Rails (back in 2008) is that it'd be nice to have similarly natural ways of accessing the end of an array or relation. We have
last, but it ends there. It's slightly jarring (for me anyway) to go fromx.lasttox[-2].So, here's a proposal to add
penultimateandantepenultimateas well. Partly for the delight factor, partly because I think it would actually be useful. (At least, it would to me.)If
next_to_last/second_to_lastandthird_to_lastare more natural, we can easily use those instead, or make them aliases.This is my first Rails PR, so I've tried to include everything (tests, documentation), but I'm happy to make alterations if I've missed anything.