`!receive? && receive?`これって真にならなさそうな気がしました。
また`DateTime.now < ended_at`は`result?`で定義しているので置き換えられそうですね。