From 0b4217b12dcb25d9b291ed1d7a2d7cc7bbf7360b Mon Sep 17 00:00:00 2001 From: Sebastian Serth Date: Tue, 2 Nov 2021 16:19:01 +0100 Subject: [PATCH] Memoize `collect_files` --- app/models/submission.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/models/submission.rb b/app/models/submission.rb index ea67a351..3c8cd223 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -56,9 +56,11 @@ class Submission < ApplicationRecord private :build_files_hash def collect_files - ancestors = build_files_hash(exercise.files.includes(:file_type), :id) - descendants = build_files_hash(files.includes(:file_type), :file_id) - ancestors.merge(descendants).values + @collect_files ||= begin + ancestors = build_files_hash(exercise.files.includes(:file_type), :id) + descendants = build_files_hash(files.includes(:file_type), :file_id) + ancestors.merge(descendants).values + end end def main_file