Sha256: 6ea3d61dc56b936a25a8a1a5b6b6067b94c13554782969eee55e3ce2de380494

Contents?: true

Size: 637 Bytes

Versions: 5

Compression:

Stored size: 637 Bytes

Contents

# frozen_string_literal: true

module Heya
  module Campaigns
    module Actions
      class Email < Action
        VALID_PARAMS = %w[subject from reply_to bcc layout to headers]

        def self.validate_step(step)
          step.params.assert_valid_keys(VALID_PARAMS)
          unless step.params["subject"].present? || I18n.exists?("#{step.campaign_name.underscore}.#{step.name.underscore}.subject")
            raise ArgumentError.new(%("subject" is required))
          end
        end

        def build
          CampaignMailer
            .with(user: user, step: step)
            .build
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
heya-0.12.0 lib/heya/campaigns/actions/email.rb
heya-0.11.0 lib/heya/campaigns/actions/email.rb
heya-0.10.0 lib/heya/campaigns/actions/email.rb
heya-0.9.0 lib/heya/campaigns/actions/email.rb
heya-0.8.0 lib/heya/campaigns/actions/email.rb