Class: Mail::ContentDispositionField
- Inherits:
-
StructuredField
- Object
- StructuredField
- Mail::ContentDispositionField
- Defined in:
- lib/mail/fields/content_disposition_field.rb
Constant Summary collapse
- FIELD_NAME =
'content-disposition'
- CAPITALIZED_FIELD =
'Content-Disposition'
Constants included from Patterns
Patterns::ATOM_UNSAFE, Patterns::CONTROL_CHAR, Patterns::CRLF, Patterns::FIELD_BODY, Patterns::FIELD_LINE, Patterns::FWS, Patterns::HEADER_LINE, Patterns::PHRASE_UNSAFE, Patterns::QP_SAFE, Patterns::QP_UNSAFE, Patterns::TEXT, Patterns::TOKEN_UNSAFE, Patterns::WSP
Instance Method Summary collapse
- #decoded ⇒ Object
- #disposition_type ⇒ Object
- #element ⇒ Object
-
#encoded ⇒ Object
TODO: Fix this up.
- #filename ⇒ Object
-
#initialize(value = nil, charset = 'utf-8') ⇒ ContentDispositionField
constructor
A new instance of ContentDispositionField.
- #parameters ⇒ Object
- #parse(val = value) ⇒ Object
Methods inherited from StructuredField
#charset, #charset=, #default, #errors
Methods included from Utilities
#atom_safe?, #bracket, #capitalize_field, #constantize, #dasherize, #dquote, #escape_paren, #map_lines, #map_with_index, #match_to_s, #paren, #quote_atom, #quote_phrase, #quote_token, #token_safe?, #unbracket, #underscoreize, #unparen, #unquote, #uri_escape, #uri_parser, #uri_unescape
Methods included from CommonField
#default, #field_length, #name, #name=, #responsible_for?, #to_s, #value, #value=
Constructor Details
#initialize(value = nil, charset = 'utf-8') ⇒ ContentDispositionField
Returns a new instance of ContentDispositionField.
10 11 12 13 14 15 |
# File 'lib/mail/fields/content_disposition_field.rb', line 10 def initialize(value = nil, charset = 'utf-8') self.charset = charset super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, value), charset) self.parse self end |
Instance Method Details
#decoded ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/mail/fields/content_disposition_field.rb', line 59 def decoded if parameters.length > 0 p = "; #{parameters.decoded}" else p = "" end "#{disposition_type}" + p end |
#disposition_type ⇒ Object
27 28 29 |
# File 'lib/mail/fields/content_disposition_field.rb', line 27 def disposition_type element.disposition_type end |
#element ⇒ Object
23 24 25 |
# File 'lib/mail/fields/content_disposition_field.rb', line 23 def element @element ||= Mail::ContentDispositionElement.new(value) end |
#encoded ⇒ Object
TODO: Fix this up
50 51 52 53 54 55 56 57 |
# File 'lib/mail/fields/content_disposition_field.rb', line 50 def encoded if parameters.length > 0 p = ";\r\n\s#{parameters.encoded}\r\n" else p = "\r\n" end "#{CAPITALIZED_FIELD}: #{disposition_type}" + p end |
#filename ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/mail/fields/content_disposition_field.rb', line 37 def filename case when !parameters['filename'].blank? @filename = parameters['filename'] when !parameters['name'].blank? @filename = parameters['name'] else @filename = nil end @filename end |
#parameters ⇒ Object
31 32 33 34 35 |
# File 'lib/mail/fields/content_disposition_field.rb', line 31 def parameters @parameters = ParameterHash.new element.parameters.each { |p| @parameters.merge!(p) } @parameters end |
#parse(val = value) ⇒ Object
17 18 19 20 21 |
# File 'lib/mail/fields/content_disposition_field.rb', line 17 def parse(val = value) unless val.blank? @element = Mail::ContentDispositionElement.new(val) end end |