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}
```