From 3cecba70e889ba2cfaad43a97cdcd4cdcbacefd7 Mon Sep 17 00:00:00 2001 From: Kristina Lim Date: Thu, 10 Oct 2019 20:17:15 +0800 Subject: [PATCH] Refactor and memoize report object in Orders and Fulfillment report --- .../orders_and_fulfillments_report.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/open_food_network/orders_and_fulfillments_report.rb b/lib/open_food_network/orders_and_fulfillments_report.rb index 2b9a577caf..6aa08bde7b 100644 --- a/lib/open_food_network/orders_and_fulfillments_report.rb +++ b/lib/open_food_network/orders_and_fulfillments_report.rb @@ -19,7 +19,7 @@ module OpenFoodNetwork end def header - report_klass.new(self).header + report.header end def search @@ -32,19 +32,23 @@ module OpenFoodNetwork end def rules - report_klass.new(self).rules + report.rules end # Returns a proc for each column displayed in each report type containing # the logic to compute the value for each cell. def columns - report_klass.new(self).columns + report.columns end private attr_reader :permissions + def report + @report ||= report_klass.new(self) + end + def report_klass case report_type when SupplierTotalsReport::REPORT_TYPE