Class: Mail::KeywordsField

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

Constant Summary

FIELD_NAME =
'keywords'
CAPITALIZED_FIELD =
'Keywords'

Constants included from Patterns

Patterns::ATOM_UNSAFE, Patterns::CONTROL_CHAR, Patterns::CRLF, Patterns::FIELD_BODY, Patterns::FIELD_LINE, Patterns::FIELD_PREFIX, Patterns::FIELD_SPLIT, Patterns::FWS, Patterns::HEADER_LINE, Patterns::HEADER_SPLIT, Patterns::PHRASE_UNSAFE, Patterns::QP_SAFE, Patterns::QP_UNSAFE, Patterns::TEXT, Patterns::TOKEN_UNSAFE, Patterns::WSP

Instance Method Summary (collapse)

Methods inherited from StructuredField

#charset, #charset=, #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

#field_length, #name, #name=, #responsible_for?, #to_s, #value, #value=

Constructor Details

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



10
11
12
13
14
15
# File 'lib/mail/fields/keywords_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

- (Object) decoded



35
36
37
# File 'lib/mail/fields/keywords_field.rb', line 35

def decoded
  keywords.join(', ')
end

- (Object) default



39
40
41
# File 'lib/mail/fields/keywords_field.rb', line 39

def default
  keywords
end

- (Object) encoded



31
32
33
# File 'lib/mail/fields/keywords_field.rb', line 31

def encoded
  "#{CAPITALIZED_FIELD}: #{keywords.join(",\r\n ")}\r\n"
end

- (Object) keywords



27
28
29
# File 'lib/mail/fields/keywords_field.rb', line 27

def keywords
  phrase_list.phrases
end

- (Object) parse(val = value)



17
18
19
20
21
# File 'lib/mail/fields/keywords_field.rb', line 17

def parse(val = value)
  unless val.blank?
    @phrase_list ||= PhraseList.new(value)
  end
end

- (Object) phrase_list



23
24
25
# File 'lib/mail/fields/keywords_field.rb', line 23

def phrase_list
  @phrase_list ||= PhraseList.new(value)
end