Como achar o último e o próximo dia específico da semana no Rails?

No Rails 5.2 foram adicionados dois novos métodos no módulo DateAndTimesão eles: next_occurring e prev_occurring. Com esses novos métodos, nós conseguimos localizar um dia da semana anterior e do futuro. Vamos ver como eles funcionam?

Antes desses novos métodos, se nós quiséssemos achar a última segunda-feira e a próxima terça-feira, por exemplo, baseando-se no dia de hoje, faríamos:

hoje = Date.today# Fri, 20 Apr 2018
ultima_segunda = hoje.yesterday.beginning_of_week(:monday)# Mon, 16 Apr 2018
proxima_terca = hoje.tomorrow.end_of_week(:wednesday)# Tue, 24 Apr 2018

Isso parecia uma enorme gambiarra e era bem feio, além de trabalhoso.

Agora com o Rails 5.2 podemos fazer da seguinte maneira:

hoje = Date.today# Fri, 20 Apr 2018
ultima_segunda = hoje.prev_occurring(:monday)# Mon, 16 Apr 2018
proxima_terca = hoje.next_occurring(:tuesday)# Tue, 24 Apr 2018

Muito melhor, não é mesmo?

O que vocês acharam desses novos métodos? Vão ajudar em seus projetos?

Deixe seu comentário! 😉

Ahh, e não esquece de seguir a Vídeos de TI nas redes sociais, blz?

Até a próxima!