1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
# encoding: utf-8
# frozen_string_literal: true
#
# keywords = "Keywords:" phrase *("," phrase) CRLF
module Mail
class KeywordsField < StructuredField
FIELD_NAME = 'keywords'
CAPITALIZED_FIELD = 'Keywords'
def initialize(value = nil, charset = 'utf-8')
self.charset = charset
super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, value), charset)
self
end
def parse(val = value)
unless Utilities.blank?(val)
@phrase_list ||= PhraseList.new(value)
end
end
def phrase_list
@phrase_list ||= PhraseList.new(value)
end
def keywords
phrase_list.phrases
end
def encoded
"#{CAPITALIZED_FIELD}: #{keywords.join(",\r\n ")}\r\n"
end
def decoded
keywords.join(', ')
end
def default
keywords
end
end
end
|