Class: Mail::MimeVersionField

Inherits:
StructuredField show all
Defined in:
lib/mail/fields/mime_version_field.rb

Constant Summary

FIELD_NAME =
'mime-version'
CAPITALIZED_FIELD =
'Mime-Version'

Constants included from Utilities

Utilities::CRLF, Utilities::CRLF_REGEX, Utilities::LF

Constants included from Constants

Constants::ASTERISK, Constants::ATOM_UNSAFE, Constants::B_VALUES, Constants::CAPITAL_M, Constants::COLON, Constants::CONTROL_CHAR, Constants::CR, Constants::CRLF, Constants::CR_ENCODED, Constants::EMPTY, Constants::ENCODED_VALUE, Constants::EQUAL_LF, Constants::FIELD_BODY, Constants::FIELD_LINE, Constants::FIELD_PREFIX, Constants::FIELD_SPLIT, Constants::FULL_ENCODED_VALUE, Constants::FWS, Constants::HEADER_LINE, Constants::HEADER_SPLIT, Constants::HYPHEN, Constants::LF, Constants::LF_ENCODED, Constants::NULL_SENDER, Constants::PHRASE_UNSAFE, Constants::QP_SAFE, Constants::QP_UNSAFE, Constants::Q_VALUES, Constants::SPACE, Constants::TEXT, Constants::TOKEN_UNSAFE, Constants::UNDERSCORE, Constants::WSP

Instance Method Summary collapse

Methods inherited from StructuredField

#charset, #charset=, #default, #errors

Methods included from Utilities

#atom_safe?, blank?, #bracket, #capitalize_field, #constantize, #dasherize, #dquote, #escape_paren, #map_lines, #map_with_index, #match_to_s, #paren, #quote_atom, #quote_phrase, #quote_token, to_crlf, to_lf, #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') ⇒ MimeVersionField

Returns a new instance of MimeVersionField



12
13
14
15
16
17
18
19
20
21
# File 'lib/mail/fields/mime_version_field.rb', line 12

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

end

Instance Method Details

#decodedObject



49
50
51
# File 'lib/mail/fields/mime_version_field.rb', line 49

def decoded
  version
end

#elementObject



29
30
31
# File 'lib/mail/fields/mime_version_field.rb', line 29

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

#encodedObject



45
46
47
# File 'lib/mail/fields/mime_version_field.rb', line 45

def encoded
  "#{CAPITALIZED_FIELD}: #{version}\r\n"
end

#majorObject



37
38
39
# File 'lib/mail/fields/mime_version_field.rb', line 37

def major
  element.major.to_i
end

#minorObject



41
42
43
# File 'lib/mail/fields/mime_version_field.rb', line 41

def minor
  element.minor.to_i
end

#parse(val = value) ⇒ Object



23
24
25
26
27
# File 'lib/mail/fields/mime_version_field.rb', line 23

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

#versionObject



33
34
35
# File 'lib/mail/fields/mime_version_field.rb', line 33

def version
  "#{element.major}.#{element.minor}"
end