From 8b51d6a081113f323fa7224e8e7a0bb21df7e496 Mon Sep 17 00:00:00 2001
From: Marten Veldthuis <marten@veldthuis.com>
Date: Thu, 11 Nov 2021 09:37:49 +0100
Subject: [PATCH] Remove last_update

---
 exe/quby-compile                                         | 3 +--
 lib/quby/compiler.rb                                     | 3 +--
 lib/quby/compiler/dsl.rb                                 | 6 +++---
 lib/quby/compiler/entities/questionnaire.rb              | 4 +---
 lib/quby/compiler/instance.rb                            | 4 ++--
 lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb | 1 -
 6 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/exe/quby-compile b/exe/quby-compile
index bd7d029..6807247 100755
--- a/exe/quby-compile
+++ b/exe/quby-compile
@@ -35,8 +35,7 @@ paths.each do |path|
 
   key = File.basename(File.dirname(path))
   sourcecode = File.read(path)
-  last_update = File.mtime(path)
-  compiled = Quby::Compiler.compile(key, sourcecode, path: path, lookup_tables: lookup_tables, last_update: last_update)
+  compiled = Quby::Compiler.compile(key, sourcecode, path: path, lookup_tables: lookup_tables)
 
   FileUtils.mkdir_p(File.join(output_path, key))
   compiled[:outputs].each do |type, output|
diff --git a/lib/quby/compiler.rb b/lib/quby/compiler.rb
index a6dfa71..360b9fe 100644
--- a/lib/quby/compiler.rb
+++ b/lib/quby/compiler.rb
@@ -29,12 +29,11 @@ require 'quby/compiler/outputs'
 
 module Quby
   module Compiler
-    def self.compile(key, sourcecode, path: nil, lookup_tables:, last_update: nil, &block)
+    def self.compile(key, sourcecode, path: nil, lookup_tables:, &block)
       Quby::Compiler::Instance.new(lookup_tables: lookup_tables).compile(
         key: key,
         sourcecode: sourcecode,
         path: path,
-        last_update: last_update,
         &block
       )
     end
diff --git a/lib/quby/compiler/dsl.rb b/lib/quby/compiler/dsl.rb
index 2199843..24bca77 100644
--- a/lib/quby/compiler/dsl.rb
+++ b/lib/quby/compiler/dsl.rb
@@ -9,15 +9,15 @@ module Quby
   module Compiler
     module DSL
       def self.build_from_definition(definition)
-        Entities::Questionnaire.new(definition.key, last_update: definition.timestamp).tap do |questionnaire|
+        Entities::Questionnaire.new(definition.key).tap do |questionnaire|
           builder = QuestionnaireBuilder.new(questionnaire, lookup_tables: definition.lookup_tables)
           builder.instance_eval(definition.sourcecode, definition.path) if definition.sourcecode
           questionnaire.callback_after_dsl_enhance_on_questions
         end
       end
 
-      def self.build(key, sourcecode = nil, path: nil, timestamp: nil, lookup_tables: {}, &block)
-        Entities::Questionnaire.new(key, last_update: timestamp).tap do |questionnaire|
+      def self.build(key, sourcecode = nil, path: nil, lookup_tables: {}, &block)
+        Entities::Questionnaire.new(key).tap do |questionnaire|
           builder = QuestionnaireBuilder.new(questionnaire, lookup_tables: lookup_tables)
           builder.instance_eval(sourcecode, path || key) if sourcecode
           builder.instance_eval(&block) if block
diff --git a/lib/quby/compiler/entities/questionnaire.rb b/lib/quby/compiler/entities/questionnaire.rb
index 5a96efc..586c3de 100755
--- a/lib/quby/compiler/entities/questionnaire.rb
+++ b/lib/quby/compiler/entities/questionnaire.rb
@@ -29,10 +29,9 @@ module Quby
 
         RESPONDENT_TYPES = %i( profess patient parent second_parent teacher caregiver )
 
-        def initialize(key, last_update: Time.now)
+        def initialize(key)
           @key = key
           @sbg_domains = []
-          @last_update = Time.at(last_update.to_i)
           @score_calculations = {}.with_indifferent_access
           @charts = Charting::Charts.new
           @fields = Fields.new(self)
@@ -92,7 +91,6 @@ module Quby
 
         attr_accessor :last_author
         attr_accessor :allow_hotkeys # allow hotkeys for :all views, just :bulk views (default), or :none for never
-        attr_accessor :last_update
 
         attr_accessor :charts
 
diff --git a/lib/quby/compiler/instance.rb b/lib/quby/compiler/instance.rb
index 86cdae6..104be62 100644
--- a/lib/quby/compiler/instance.rb
+++ b/lib/quby/compiler/instance.rb
@@ -7,12 +7,12 @@ module Quby
         @lookup_tables = lookup_tables
       end
 
-      def compile(key:, sourcecode:, path: nil, last_update: nil, &block)
+      def compile(key:, sourcecode:, path: nil, &block)
         if block # defined in block for tests
           questionnaire = DSL.build(key, path: path, &block)
         else # sourcecode given as string
           tempfile = Tempfile.new([key, '.rb'])
-          questionnaire = Entities::Questionnaire.new(key, last_update: last_update)
+          questionnaire = Entities::Questionnaire.new(key)
           Thread.current["quby-questionnaire-loading"] = Quby::Compiler::DSL::QuestionnaireBuilder.new(questionnaire, lookup_tables: lookup_tables)
 
           tempfile.puts "Thread.current['quby-questionnaire-loading'].instance_eval do"
diff --git a/lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb b/lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb
index 44560f8..7bd406b 100644
--- a/lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb
+++ b/lib/quby/compiler/outputs/quby_frontend_v1_serializer.rb
@@ -322,7 +322,6 @@ module Quby
             licensor: questionnaire.licensor,
             language: questionnaire.language,
             renderer_version: questionnaire.renderer_version,
-            last_update: questionnaire.last_update,
             last_author: questionnaire.last_author,
             extra_css: questionnaire.extra_css,
             allow_switch_to_bulk: questionnaire.allow_switch_to_bulk,
-- 
GitLab