Hmm. Damn. After I read this reply the first time, I went on a hunt, and I found a gem that'll allow you to use instance methods in scopes. But there may be a reason that's not built-in functionality, right? Anyway, yes. Everything is about the trade-offs you make.
I did some research to see if the
delegate method might help you out here, but that's built for
has_one (you can delegate an instance method on a child class to its parent).
This doesn't fix your current problem, but instead of
self.bookings.active.current_or_future_course.count > 0
you can use