We could avoid all that calendar logic by just comparing month numbers, I think.
```ruby
now = Time.now.utc
year < now.year || (year == now.year && month < now.month)
```