From 69cf7dff2cc11316c9cc771f24116343613317e3 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Thu, 23 Apr 2020 12:24:18 +0200 Subject: [PATCH] Memoize :active in enterprise serializers that call it multiple times --- app/serializers/api/cached_enterprise_serializer.rb | 2 +- app/serializers/api/enterprise_shopfront_serializer.rb | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/serializers/api/cached_enterprise_serializer.rb b/app/serializers/api/cached_enterprise_serializer.rb index 8a6726e503..fcb0970e53 100644 --- a/app/serializers/api/cached_enterprise_serializer.rb +++ b/app/serializers/api/cached_enterprise_serializer.rb @@ -113,7 +113,7 @@ module Api end def active - data.active_distributor_ids.andand.include? enterprise.id + @active ||= data.active_distributor_ids.andand.include? enterprise.id end # Map svg icons. diff --git a/app/serializers/api/enterprise_shopfront_serializer.rb b/app/serializers/api/enterprise_shopfront_serializer.rb index 693f7442f5..dd76500227 100644 --- a/app/serializers/api/enterprise_shopfront_serializer.rb +++ b/app/serializers/api/enterprise_shopfront_serializer.rb @@ -18,7 +18,8 @@ module Api end def active - enterprise.ready_for_checkout? && OrderCycle.active.with_distributor(enterprise).exists? + @active ||= + enterprise.ready_for_checkout? && OrderCycle.active.with_distributor(enterprise).exists? end def pickup