Ruby on Rails 5.2 - ActionMailer::MailHelper

मॉड्यूल एक्शनमेलर :: मेल हेल्पर




ruby

मॉड्यूल एक्शनमेलर :: मेल हेल्पर

ActionMailer::Base लिए सहायक तरीके प्रदान करता है ActionMailer::Base जिसका उपयोग आसानी से संदेशों को प्रारूपित करने, मेलर या संदेश इंस्टेंस तक पहुंचने और अनुलग्नक सूची के लिए किया जा सकता है।

सार्वजनिक प्रवृत्ति के तरीके

संलग्नक () स्रोत दिखाएं
# File actionmailer/lib/action_mailer/mail_helper.rb, line 43
def attachments
  mailer.attachments
end

संदेश संलग्नक सूची पर पहुँचें।

block_format (टेक्स्ट) स्रोत दिखाएं
# File actionmailer/lib/action_mailer/mail_helper.rb, line 20
def block_format(text)
  formatted = text.split(/\n\r?\n/).collect { |paragraph|
    format_paragraph(paragraph)
  }.join("\n\n")

  # Make list points stand on their own line
  formatted.gsub!(/[ ]*([*]+) ([^*]*)/) { "  #{$1} #{$2.strip}\n" }
  formatted.gsub!(/[ ]*([#]+) ([^#]*)/) { "  #{$1} #{$2.strip}\n" }

  formatted
end

पाठ लें और इसे प्रारूपित करें, प्रत्येक पंक्ति के लिए दो रिक्त स्थान का इंडेंट करें, और 72 कॉलम में लिपटे:

text = <<-TEXT
  This is
  the      paragraph.

  * item1 * item2
TEXT

block_format text
# => "  This is the paragraph.\n\n  * item1\n  * item2\n"
format_paragraph (पाठ, लेन = 72, इंडेंट = 2) स्रोत दिखाएं
# File actionmailer/lib/action_mailer/mail_helper.rb, line 55
def format_paragraph(text, len = 72, indent = 2)
  sentences = [[]]

  text.split.each do |word|
    if sentences.first.present? && (sentences.last + [word]).join(" ").length > len
      sentences << [word]
    else
      sentences.last << word
    end
  end

  indentation = " " * indent
  sentences.map! { |sentence|
    "#{indentation}#{sentence.join(' ')}"
  }.join "\n"
end

text को len कॉलम और इंडेंट indent रिक्त स्थान पर लपेटा जाता है। डिफ़ॉल्ट कॉलम की लंबाई से len 72 अक्षर और इंडेंट indent बराबर दो स्थान होते हैं।

my_text = 'Here is a sample text with more than 40 characters'

format_paragraph(my_text, 25, 4)
# => "    Here is a sample text with\n    more than 40 characters"
# File actionmailer/lib/action_mailer/mail_helper.rb, line 33
def mailer
  @_controller
end

मेलर उदाहरण तक पहुँचें।

# File actionmailer/lib/action_mailer/mail_helper.rb, line 38
def message
  @_message
end

संदेश उदाहरण तक पहुँचें।