Module: SimpleEmailPreview::EmailsHelper
- Defined in:
- app/helpers/simple_email_preview/emails_helper.rb
Constant Summary collapse
- FORMAT_LABELS =
{ 'html' => 'HTML', 'plain' => 'Text', 'raw' => 'Raw' }.freeze
Instance Method Summary collapse
- #attachment_links(mail) ⇒ Object
- #change_format_attr(format) ⇒ Object
- #change_locale_attr(locale) ⇒ Object
- #format_header_value(value) ⇒ Object
- #format_label(mime_type) ⇒ Object
- #hook?(key) ⇒ Boolean
- #human_headers(mail) ⇒ Object
- #locale_name(locale) ⇒ Object
- #render_hook(key, args, &block) ⇒ Object
- #rep_btn_class(active = false) ⇒ Object
- #rep_btn_group_class ⇒ Object
-
#rep_style ⇒ Object
style.
- #view_hooks ⇒ Object
- #with_index_hook(key, &block) ⇒ Object
- #with_show_hook(key, &block) ⇒ Object
Instance Method Details
#attachment_links(mail) ⇒ Object
38 39 40 41 42 43 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 38 def (mail) mail..map do || url = simple_email_preview.(preview_params.merge(filename: .filename)) link_to(.filename, url, title: .header.to_s) end.to_sentence.html_safe end |
#change_format_attr(format) ⇒ Object
13 14 15 16 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 13 def change_format_attr(format) { href: simple_email_preview.rep_email_path(preview_params.merge(part_type: format)), class: rep_btn_class(@part_type == format) } end |
#change_locale_attr(locale) ⇒ Object
8 9 10 11 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 8 def change_locale_attr(locale) { href: simple_email_preview.rep_email_path(preview_params.merge(part_type: @part_type, email_locale: locale)), class: rep_btn_class(@email_locale == locale.to_s) } end |
#format_header_value(value) ⇒ Object
45 46 47 48 49 50 51 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 45 def format_header_value(value) if value.is_a?(Array) value.map(&:to_s) * ', ' else value.to_s end end |
#format_label(mime_type) ⇒ Object
4 5 6 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 4 def format_label(mime_type) FORMAT_LABELS[mime_type] end |
#hook?(key) ⇒ Boolean
78 79 80 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 78 def hook?(key) view_hooks.for?(key) end |
#human_headers(mail) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 26 def human_headers(mail) { t('rep.headers.subject') => mail.subject || '(no subject)', t('rep.headers.from') => mail.from, t('rep.headers.reply_to') => mail.reply_to, t('rep.headers.to') => mail.to, t('rep.headers.cc') => mail.cc, t('rep.headers.bcc') => mail.bcc, t('rep.headers.attachments') => (mail) }.each do |name, value| yield(name, format_header_value(value)) unless value.blank? end end |
#locale_name(locale) ⇒ Object
18 19 20 21 22 23 24 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 18 def locale_name(locale) if defined?(TwitterCldr) TwitterCldr::Shared::LanguageCodes.to_language(locale.to_s, :bcp_47) else locale.to_s end end |
#render_hook(key, args, &block) ⇒ Object
74 75 76 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 74 def render_hook(key, args, &block) view_hooks.render(key, args, self, &block) end |
#rep_btn_class(active = false) ⇒ Object
58 59 60 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 58 def rep_btn_class(active = false) [rep_style[:btn_default_class], (rep_style[:btn_active_class_modifier] if active)].compact * ' ' end |
#rep_btn_group_class ⇒ Object
62 63 64 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 62 def rep_btn_group_class rep_style[:btn_group_class] end |
#rep_style ⇒ Object
style
54 55 56 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 54 def rep_style SimpleEmailPreview.style end |
#view_hooks ⇒ Object
82 83 84 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 82 def view_hooks SimpleEmailPreview.view_hooks end |
#with_index_hook(key, &block) ⇒ Object
66 67 68 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 66 def with_index_hook(key, &block) render_hook key, list: @list, previews: @previews, &block end |
#with_show_hook(key, &block) ⇒ Object
70 71 72 |
# File 'app/helpers/simple_email_preview/emails_helper.rb', line 70 def with_show_hook(key, &block) render_hook key, mail: @mail, preview: @preview, &block end |