19 lines
446 B
Ruby
19 lines
446 B
Ruby
class Submission < ApplicationRecord
|
|
belongs_to :form
|
|
after_create :append_to_spreadsheet
|
|
validates_presence_of :data
|
|
|
|
def data=(value)
|
|
sanitized_data = {}
|
|
value.each do |key, value|
|
|
sanitized_data[key] = value.to_s
|
|
end
|
|
write_attribute(:data, sanitized_data)
|
|
end
|
|
|
|
def append_to_spreadsheet
|
|
result = form.append(data)
|
|
update_column(:appended_at, Time.current) if result.updates.updated_rows > 0
|
|
end
|
|
end
|