From 409038ecba86aa73248e5553b07e33f608760176 Mon Sep 17 00:00:00 2001 From: Michael Bumann Date: Mon, 6 Apr 2020 00:26:59 +0200 Subject: [PATCH] Add experimental support for dynamic values This allows a submission to get a dynamic value like for example the current time --- app/models/submission.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/models/submission.rb b/app/models/submission.rb index d9a5d77..db3d510 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -6,11 +6,19 @@ class Submission < ApplicationRecord def data=(value) sanitized_data = {} value.each do |key, value| - sanitized_data[key] = value.to_s + sanitized_data[key] = submission_value(value) end write_attribute(:data, sanitized_data) end + def submission_value(value) + if value.to_s.downcase == 'tinyforms_now' + Time.now.utc.to_formatted_s(:rfc822) + else + value.to_s + end + end + def append_to_spreadsheet result = form.append(data) update_column(:appended_at, Time.current) if result.updates.updated_rows > 0