Sha256: 4b4f6aa2fdcfbc1229d93dec17c098782e3656e17cfbb4bd67df4a4479b2386e

Contents?: true

Size: 788 Bytes

Versions: 14

Compression:

Stored size: 788 Bytes

Contents

# encoding: utf-8
# 
# keywords        =       "Keywords:" phrase *("," phrase) CRLF
module Mail
  class KeywordsField < StructuredField
    
    FIELD_NAME = 'keywords'
    CAPITALIZED_FIELD = 'Keywords'
    
    def initialize(*args)
      super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, args.last))
      self.parse
      self
    end

    def parse(val = value)
      unless val.blank?
        @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"
    end
    
    def decoded
      keywords.join(', ')
    end

    def default
      keywords
    end
    
  end
end

Version data entries

14 entries across 14 versions & 2 rubygems

Version Path
mail-2.1.5.3 lib/mail/fields/keywords_field.rb
mail-2.1.5.2 lib/mail/fields/keywords_field.rb
mail-2.1.5.1 lib/mail/fields/keywords_field.rb
mail-2.1.5 lib/mail/fields/keywords_field.rb
mail-2.1.3 lib/mail/fields/keywords_field.rb
kbaum-mail-2.1.2.1 lib/mail/fields/keywords_field.rb
mail-2.1.2 lib/mail/fields/keywords_field.rb
mail-2.1.1 lib/mail/fields/keywords_field.rb
mail-2.1.0 lib/mail/fields/keywords_field.rb
mail-2.0.5 lib/mail/fields/keywords_field.rb
mail-2.0.3 lib/mail/fields/keywords_field.rb
mail-1.6.0 lib/mail/fields/keywords_field.rb
mail-1.5.4 lib/mail/fields/keywords_field.rb
mail-1.5.3 lib/mail/fields/keywords_field.rb