Sha256: 3fd05ccfebf688eca4bdf0881db5f50f9b7828436126916eff356e2bd6ccd90f
Contents?: true
Size: 1.41 KB
Versions: 3
Compression:
Stored size: 1.41 KB
Contents
# encoding: utf-8 require 'mail/fields/common/parameter_hash' module Mail class ContentDispositionField < StructuredField FIELD_NAME = 'content-disposition' CAPITALIZED_FIELD = 'Content-Disposition' def initialize(*args) super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, args.last)) self.parse self end def parse(val = value) unless val.blank? @element = Mail::ContentDispositionElement.new(val) end end def element @element ||= Mail::ContentDispositionElement.new(value) end def disposition_type element.disposition_type end def parameters @parameters = ParameterHash.new element.parameters.each { |p| @parameters.merge!(p) } @parameters end def filename case when !parameters['filename'].blank? @filename = parameters['filename'] when !parameters['name'].blank? @filename = parameters['name'] else @filename = nil end @filename end # TODO: Fix this up def encoded if parameters.length > 0 p = ";\r\n\t#{parameters.encoded}\r\n" else p = "" end "#{CAPITALIZED_FIELD}: #{disposition_type}" + p end def decoded if parameters.length > 0 p = "; #{parameters.decoded}" else p = "" end "#{disposition_type}" + p end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mail-2.1.5.3 | lib/mail/fields/content_disposition_field.rb |
mail-2.1.5.2 | lib/mail/fields/content_disposition_field.rb |
mail-2.1.5.1 | lib/mail/fields/content_disposition_field.rb |