ryu39/sendgrid_actionmailer_adapter

View on GitHub
lib/sendgrid_actionmailer_adapter/converters/categories.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# frozen_string_literal: true

require 'sendgrid-ruby'

module SendGridActionMailerAdapter
  module Converters
    class Categories
      def validate(_mail)
      end

      def convert(mail)
        categories_str = mail['categories']&.value
        return if categories_str.nil? || categories_str.empty?

        categories_str.split(', ').map { |c| ::SendGrid::Category.new(name: c) }
      end

      def assign_attributes(sendgrid_mail, value)
        Array(value).each do |category|
          sendgrid_mail.add_category(category)
        end
      end
    end
  end
end