summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDavid Gay <david@davidgay.org>2021-06-09 21:27:36 -0400
committerDavid Gay <david@davidgay.org>2021-06-09 21:27:36 -0400
commit6fbb3db6f1dda597cc997fa07ab6545ef99f717d (patch)
tree72a266f1157889a461340d788cdbdab3d325d476 /app
parenta068f2a59cd7070ec7a59b32908bde5ede4a1fb7 (diff)
Extra guards to prevent running activity duration check code when important related values are nil (hopefully fixes #3 and fixes #2)
Diffstat (limited to 'app')
-rw-r--r--app/lib/activity_processor.rb2
-rw-r--r--app/models/character.rb1
2 files changed, 2 insertions, 1 deletions
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