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 Utilities
Utilities::CRLF, Utilities::LF, Utilities::TO_CRLF_REGEX
Constants included from Constants
Mail::Constants::ASTERISK, Mail::Constants::ATOM_UNSAFE, Mail::Constants::B_VALUES, Mail::Constants::CAPITAL_M, Mail::Constants::COLON, Mail::Constants::CONTROL_CHAR, Mail::Constants::CR, Mail::Constants::CRLF, Mail::Constants::CR_ENCODED, Mail::Constants::EMPTY, Mail::Constants::ENCODED_VALUE, Mail::Constants::EQUAL_LF, Mail::Constants::FIELD_BODY, Mail::Constants::FIELD_LINE, Mail::Constants::FIELD_PREFIX, Mail::Constants::FIELD_SPLIT, Mail::Constants::FULL_ENCODED_VALUE, Mail::Constants::FWS, Mail::Constants::HEADER_LINE, Mail::Constants::HEADER_SPLIT, Mail::Constants::HYPHEN, Mail::Constants::LF, Mail::Constants::LF_ENCODED, Mail::Constants::NULL_SENDER, Mail::Constants::PHRASE_UNSAFE, Mail::Constants::QP_SAFE, Mail::Constants::QP_UNSAFE, Mail::Constants::Q_VALUES, Mail::Constants::SPACE, Mail::Constants::TEXT, Mail::Constants::TOKEN_UNSAFE, Mail::Constants::UNDERSCORE, Mail::Constants::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?, binary_unsafe_to_crlf, binary_unsafe_to_lf, blank?, #bracket, #capitalize_field, #constantize, #dasherize, #dquote, #escape_paren, #map_lines, #map_with_index, #match_to_s, #paren, #quote_atom, #quote_phrase, #quote_token, safe_for_line_ending_conversion?, to_crlf, to_lf, #token_safe?, #unbracket, #underscoreize, unescape, #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.
11 12 13 14 15 16 17 |
# File 'lib/mail/fields/content_disposition_field.rb', line 11 def initialize(value = nil, charset = 'utf-8') self.charset = charset value = ensure_filename_quoted(value) super(CAPITALIZED_FIELD, value, charset) self.parse self end |
Instance Method Details
#decoded ⇒ Object
61 62 63 64 65 66 67 68 |
# File 'lib/mail/fields/content_disposition_field.rb', line 61 def decoded if parameters.length > 0 p = "; #{parameters.decoded}" else p = "" end "#{disposition_type}" + p end |
#disposition_type ⇒ Object
29 30 31 |
# File 'lib/mail/fields/content_disposition_field.rb', line 29 def disposition_type element.disposition_type end |
#element ⇒ Object
25 26 27 |
# File 'lib/mail/fields/content_disposition_field.rb', line 25 def element @element ||= Mail::ContentDispositionElement.new(value) end |
#encoded ⇒ Object
TODO: Fix this up
52 53 54 55 56 57 58 59 |
# File 'lib/mail/fields/content_disposition_field.rb', line 52 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
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/mail/fields/content_disposition_field.rb', line 39 def filename case when parameters['filename'] @filename = parameters['filename'] when parameters['name'] @filename = parameters['name'] else @filename = nil end @filename end |
#parameters ⇒ Object
33 34 35 36 37 |
# File 'lib/mail/fields/content_disposition_field.rb', line 33 def parameters @parameters = ParameterHash.new element.parameters.each { |p| @parameters.merge!(p) } unless element.parameters.nil? @parameters end |
#parse(val = value) ⇒ Object
19 20 21 22 23 |
# File 'lib/mail/fields/content_disposition_field.rb', line 19 def parse(val = value) unless Utilities.blank?(val) @element = Mail::ContentDispositionElement.new(val) end end |