Sha256: 8fb16d3597ceee5dcdb6a4dc56d95b157cb228095b25db570c64d2826ea5b373

Contents?: true

Size: 1.12 KB

Versions: 1

Compression:

Stored size: 1.12 KB

Contents

require 'mime'

module MIMEBuilder
  class Text
    attr_accessor :mime
    attr_accessor :text

    def initialize(text, opts = {})
      @text = text

      if opts.key?(:content_type) && opts[:content_type].to_s.length>0
        content_type = opts[:content_type]
        if content_type =~ /^text\/([^\/]+)$/i
          @mime = MIME::Text.new(text, $1.downcase)
        else
          raise "Unknown Content Type: " + opts[:content_type].to_s
        end
      else
        @mime = MIME::Text.new(text, 'plain')
      end

      @mime.headers.delete('Content-Id') \
        if opts.key?(:content_id_disable) && opts[:content_id_disable]

      set_attachment_content_disposition(opts[:filename], opts[:is_attachment])
    end

    def set_attachment_content_disposition(filename, is_attachment)
      @mime.headers.set(
        'Content-Disposition',
        get_attachment_content_disposition(filename)
      ) if is_attachment
    end

    def get_attachment_content_disposition(filename = nil)
      return filename.to_s.length > 0              \
        ? "attachment; filename=\"#{filename}\"" \
        : 'attachment'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mime_builder-0.0.4 lib/mime_builder/text.rb