Welcome to another edition of This Week in #dev, a series of posts where we bring some of the most interesting Slack conversations to the public. This is the Today I Learned edition.
Active Record’s rewhere
Matheus Sales learned about the
rewhere
method in Active Record. It’s a query method that allows you to change a
previously set where condition for a given attribute instead of appending to
that condition.
Post.where(published: true).rewhere(published: false) # => WHERE `published` = 0
It can be handy for overriding a default_scope or when building an index page
with a couple of filters, and one of those must override previous ones applied.
There’s also reorder and reselect, Neil Carvalho adds.
Stashing Untracked Files
Steve Polito shares that he learns that it’s possible to
stash untracked files with git stash --untracked.
$ git status
Untracked files:
(use "git add <file>..." to include in what will be committed)
README.md
$ git stash
No local changes to save
$ git stash --include-untracked
Saved working directory and index state WIP on...
Ruby’s Date.parse Format Preference
Neil Carvalho discovered that Ruby’s Date.parse prefers the DD/MM/YYYY format
over MM/DD/YYYY.
date = Date.parse "02/01/2023"
# => #<Date: 2023-01-02 ((2459947j,0s,0n),+0s,2299161j)>
date.day
# => 2
date.month
# => 1
Today I Learned
In a TIL-meta fashion, Sarah Lima shares that she learned about thoughtbot’s TIL repo.
Thanks
This edition was brought to you by: Matheus Sales, Neil Carvalho, Sarah Lima, and Steve Polito. Thanks to all contributors! 🎉