Устранить окончательные стили в уведомлениях по электронной почте

Если вы захотите создать pull request, я с радостью его приму :+1:

Это не решает эту проблему, но дублирование стилей всё равно расточительно и чревато ошибками.

Я бы внес небольшие изменения в функцию deduplicate_style, в основном чтобы убедиться, что присутствуют и key, и values.

def deduplicate_style(style)
  styles = {}

  style
    .split(";")
    .select(&:present?)
    .map { _1.split(":", 2).map(&:strip) }
    .each { |k, v| styles[k] = v if k.present? && v.present? }

  styles.map { |k, v| "#{k}:#{v}" }.join(";")
end