scope with a proc which return nil should still be chainable

just like activerecord, the scope should always be chainable, so we can write
scope :before_date, ->(date) { where(:date.lt => date) if date}
instead of
scope :before_date, ->(date) { date ? where(:date.lt => date) : all}