حل الأنماط النهائية في إشعارات البريد الإلكتروني

إذا كنت ترغب في تقديم طلب سحب، فسأقوم بدمجه بكل سرور :+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