Sha256: f1cda1045feaaf83b1030e1b69ad855f376b688e0eadbe609c427c62c21e0bd0

Contents?: true

Size: 1.34 KB

Versions: 2

Compression:

Stored size: 1.34 KB

Contents

module Padrino
  module Mailer

    # Handles MIME type declarations for mail delivery.
    #
    module Mime

      # Returns Symbol with mime type if found, otherwise use +fallback+.
      # +mime+ should be the content type like "text/plain"
      # +fallback+ may be any symbol
      #
      # Also see the documentation for {MIME_TYPES}.
      #
      # @param [String] mime
      #   The mime alias to fetch (i.e 'text/plain').
      # @param [Symbol] fallback
      #   The fallback mime to use if +mime+ doesn't exist.
      #
      # @example
      #   Padrino::Mailer::Mime.mime_type('text/plain')
      #   # => :plain
      #   Padrino::Mailer::Mime.mime_type('text/html')
      #   # => :html
      #
      # This is a shortcut for:
      #
      #   Padrino::Mailer::Mime::MIME_TYPES.fetch('text/plain', :plain)
      #
      def self.mime_type(mime, fallback=:plain)
        MIME_TYPES.fetch(mime.to_s.downcase, fallback)
      end

      # List of common mime-types, selected from various sources
      # according to their usefulness for an email scope.
      #
      # You can add your own mime types like:
      #
      #   Padrino::Mailer::MIME_TYPES.merge!("text/xml" => :xml)
      #
      MIME_TYPES = {
        "text/html"  => :html,
        "text/plain" => :plain,
        "text/xml"   => :xml
      }
    end # Mime
  end # Mailer
end # Padrino

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
padrino-mailer-0.11.3 lib/padrino-mailer/mime.rb
padrino-mailer-0.11.2 lib/padrino-mailer/mime.rb