Module: RailsEmailPreview::EmailsHelper
- Defined in:
- app/helpers/rails_email_preview/emails_helper.rb
Constant Summary collapse
- FORMAT_LABELS =
{ 'html' => 'HTML', 'plain' => 'Text', 'raw' => 'Raw'}
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, &block) ⇒ 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
40 41 42 43 44 45 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 40 def (mail) mail..map do || url = rails_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
14 15 16 17 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 14 def change_format_attr(format) {href: rails_email_preview.rep_email_path(preview_params.merge(part_type: format)), class: rep_btn_class(@part_type == format)} end |
#change_locale_attr(locale) ⇒ Object
9 10 11 12 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 9 def change_locale_attr(locale) {href: rails_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
47 48 49 50 51 52 53 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 47 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
5 6 7 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 5 def format_label(mime_type) FORMAT_LABELS[mime_type] end |
#hook?(key) ⇒ Boolean
80 81 82 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 80 def hook?(key) view_hooks.for?(key) end |
#human_headers(mail, &block) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 27 def human_headers(mail, &block) {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| block.call(name, format_header_value(value)) unless value.blank? end end |
#locale_name(locale) ⇒ Object
19 20 21 22 23 24 25 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 19 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
76 77 78 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 76 def render_hook(key, args, &block) view_hooks.render(key, args, self, &block) end |
#rep_btn_class(active = false) ⇒ Object
60 61 62 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 60 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
64 65 66 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 64 def rep_btn_group_class rep_style[:btn_group_class] end |
#rep_style ⇒ Object
style
56 57 58 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 56 def rep_style RailsEmailPreview.style end |
#view_hooks ⇒ Object
84 85 86 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 84 def view_hooks RailsEmailPreview.view_hooks end |
#with_index_hook(key, &block) ⇒ Object
68 69 70 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 68 def with_index_hook(key, &block) render_hook key, list: @list, previews: @previews, &block end |
#with_show_hook(key, &block) ⇒ Object
72 73 74 |
# File 'app/helpers/rails_email_preview/emails_helper.rb', line 72 def with_show_hook(key, &block) render_hook key, mail: @mail, preview: @preview, &block end |