Sha256: ceb2e314b52696d6520d6d57b94cd68618959f4cbc3353b577cce75b43e11c04

Contents?: true

Size: 615 Bytes

Versions: 5

Compression:

Stored size: 615 Bytes

Contents

# frozen_string_literal: true

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

        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.5.2 lib/heya/campaigns/actions/email.rb
heya-0.5.1 lib/heya/campaigns/actions/email.rb
heya-0.5.0 lib/heya/campaigns/actions/email.rb
heya-0.4.0 lib/heya/campaigns/actions/email.rb
heya-0.3.0 lib/heya/campaigns/actions/email.rb