From 6fbb3db6f1dda597cc997fa07ab6545ef99f717d Mon Sep 17 00:00:00 2001 From: David Gay Date: Wed, 9 Jun 2021 21:27:36 -0400 Subject: Extra guards to prevent running activity duration check code when important related values are nil (hopefully fixes #3 and fixes #2) --- app/lib/activity_processor.rb | 2 +- app/models/character.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'app') diff --git a/app/lib/activity_processor.rb b/app/lib/activity_processor.rb index 72c7ddd..b5dd11c 100644 --- a/app/lib/activity_processor.rb +++ b/app/lib/activity_processor.rb @@ -9,7 +9,7 @@ class ActivityProcessor end def process - return unless @character.activity_time_remaining <= 0 + return unless @character.activity && @character.activity_time_remaining <= 0 if @character.resting? @results.replace([{ type: "error", message: "You can't do anything while you're resting." }]) @character.stop_activity diff --git a/app/models/character.rb b/app/models/character.rb index ce2b0db..d386002 100644 --- a/app/models/character.rb +++ b/app/models/character.rb @@ -197,6 +197,7 @@ class Character < ApplicationRecord end def activity_time_remaining + return nil unless self.activity time = activity_duration - (Time.now - self.activity_started_at) time -= rested_duration_to_spend_on_activity if self.rested_duration > 0 time -- cgit v1.2.3