Если вы захотите создать pull request, я с радостью его приму ![]()
Это не решает эту проблему, но дублирование стилей всё равно расточительно и чревато ошибками.
Я бы внес небольшие изменения в функцию 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