Search code examples
ruby-on-railspostgresqlrefactoringruby-style-guide

Rails 4 scope NOTNULL refactor


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?


Solution

  • A shorter & more beautiful version will be like this:

    scope :active, -> { where.not(reviewed_at: nil, paid_at: nil).where('end_at >= ?', Date.today) }