From 05dfd632c73b605232a77f27ff8d5b888efe5b00 Mon Sep 17 00:00:00 2001
From: Eugen Rochko <eugen@zeonfederated.com>
Date: Tue, 5 Mar 2019 03:45:56 +0100
Subject: [PATCH] Fix poll options not being stripped of surrounding whitespace
 on save (#10168)

---
 app/models/poll.rb | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/app/models/poll.rb b/app/models/poll.rb
index ba0b17f919..ab7236d455 100644
--- a/app/models/poll.rb
+++ b/app/models/poll.rb
@@ -32,8 +32,11 @@ class Poll < ApplicationRecord
   scope :attached, -> { where.not(status_id: nil) }
   scope :unattached, -> { where(status_id: nil) }
 
+  before_validation :prepare_options
   before_validation :prepare_votes_count
+
   after_initialize :prepare_cached_tallies
+
   after_commit :reset_parent_cache, on: :update
 
   def loaded_options
@@ -75,6 +78,10 @@ class Poll < ApplicationRecord
     self.votes_count = cached_tallies.sum unless cached_tallies.empty?
   end
 
+  def prepare_options
+    self.options = options.map(&:strip).reject(&:blank?)
+  end
+
   def reset_parent_cache
     return if status_id.nil?
     Rails.cache.delete("statuses/#{status_id}")
-- 
GitLab