diff --git a/app/models/poll.rb b/app/models/poll.rb index ba0b17f91..ab7236d45 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}")