class Mail::ContentDispositionField

def decoded

def decoded
  if parameters.length > 0
    p = "; #{parameters.decoded}"
  else
    p = ""
  end
  "#{disposition_type}" + p
end

def disposition_type

def disposition_type
  element.disposition_type
end

def element

def element
  @element ||= Mail::ContentDispositionElement.new(value)
end

def encoded

TODO: Fix this up
def encoded
  if parameters.length > 0
    p = ";\r\n\s#{parameters.encoded}\r\n"
  else
    p = ""
  end
  "#{CAPITALIZED_FIELD}: #{disposition_type}" + p
end

def filename

def filename
  case
  when !parameters['filename'].blank?
    @filename = parameters['filename']
  when !parameters['name'].blank?
    @filename = parameters['name']
  else 
    @filename = nil
  end
  @filename
end

def initialize(value = nil, charset = 'utf-8')

def initialize(value = nil, charset = 'utf-8')
  self.charset = charset
  super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, value), charset)
  self.parse
  self
end

def parameters

def parameters
  @parameters = ParameterHash.new
  element.parameters.each { |p| @parameters.merge!(p) }
  @parameters
end

def parse(val = value)

def parse(val = value)
  unless val.blank?
    @element = Mail::ContentDispositionElement.new(val)
  end
end