I had to create a scope to create active jobs, but this feels a little odd and honestly it's tightly coupled to PosgresSQL:
scope :active, -> { where('reviewed_at NOTNULL and paid_at NOTNULL and end_at >= ?', Date.today) }
Would you write this differently?
A shorter & more beautiful version will be like this:
scope :active, -> { where.not(reviewed_at: nil, paid_at: nil).where('end_at >= ?', Date.today) }