Module: StudioEmailDeliveryHelper

Defined in:
app/helpers/studio_email_delivery_helper.rb

Constant Summary collapse

NON_DELIVERING_EMAIL_METHODS =
%w[test file].freeze

Instance Method Summary collapse

Instance Method Details

#email_delivery_banner_detailsObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'app/helpers/studio_email_delivery_helper.rb', line 10

def email_delivery_banner_details
  delivery_method = studio_email_delivery_method
  capture_enabled = Studio.local_email_capture?
  sends_email = studio_email_perform_deliveries? && !capture_enabled &&
                !NON_DELIVERING_EMAIL_METHODS.include?(delivery_method)
  transport = email_delivery_transport_label(delivery_method, capture_enabled)
  connector = email_delivery_connector(delivery_method, transport)

  {
    connector: connector,
    connector_label: email_delivery_connector_label(connector),
    email_state: sends_email ? "Sending" : "Captured",
    provider_icon: email_delivery_provider_icon(connector),
    sends_email: sends_email,
    status_icon: sends_email ? "" : "",
    tooltip: "Connector: #{email_delivery_connector_label(connector)} · Emails: #{sends_email ? "Sending" : "Captured"}",
    transport: transport
  }
end

#email_delivery_banner_statusObject



4
5
6
7
8
# File 'app/helpers/studio_email_delivery_helper.rb', line 4

def email_delivery_banner_status
  details = email_delivery_banner_details

  "EMAIL SEND #{details.fetch(:sends_email)} · #{details.fetch(:transport)}"
end

#email_delivery_transport_label(delivery_method = studio_email_delivery_method, capture_enabled = Studio.local_email_capture?) ⇒ Object



30
31
32
33
34
35
36
37
# File 'app/helpers/studio_email_delivery_helper.rb', line 30

def email_delivery_transport_label(delivery_method = studio_email_delivery_method,
                                   capture_enabled = Studio.local_email_capture?)
  return "capture" if capture_enabled
  return "ses" if Studio.ses_transport_ready?
  return "resend" if delivery_method == "resend"

  delivery_method.to_s.strip.empty? ? "unknown" : delivery_method
end