Sha256: ff3c55bdbd3545fb7e595368fc058135e289d7ee6f951537225239ec0ee21814

Contents?: true

Size: 1.14 KB

Versions: 23

Compression:

Stored size: 1.14 KB

Contents

# encoding: utf-8
# frozen_string_literal: true
# 
# 
# 
module Mail
  class ContentIdField < StructuredField
    
    FIELD_NAME = 'content-id'
    CAPITALIZED_FIELD = "Content-ID"
    
    def initialize(value = nil, charset = 'utf-8')
      self.charset = charset
      @uniq = 1
      if Utilities.blank?(value)
        value = generate_content_id
      else
        value = strip_field(FIELD_NAME, value)
      end
      super(CAPITALIZED_FIELD, strip_field(FIELD_NAME, value), charset)
      self.parse
      self
    end
    
    def parse(val = value)
      unless Utilities.blank?(val)
        @element = Mail::MessageIdsElement.new(val)
      end
    end
    
    def element
      @element ||= Mail::MessageIdsElement.new(value)
    end
    
    def name
      'Content-ID'
    end
    
    def content_id
      element.message_id
    end
    
    def to_s
      "<#{content_id}>"
    end
    
    # TODO: Fix this up
    def encoded
      "#{CAPITALIZED_FIELD}: #{to_s}\r\n"
    end
    
    def decoded
      "#{to_s}"
    end
    
    private
    
    def generate_content_id
      "<#{Mail.random_tag}@#{::Socket.gethostname}.mail>"
    end
    
  end
end

Version data entries

23 entries across 21 versions & 6 rubygems

Version Path
tdiary-5.0.6 vendor/bundle/gems/mail-2.6.6/lib/mail/fields/content_id_field.rb
tdiary-5.0.5 vendor/bundle/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
tdiary-5.0.5 vendor/bundle/gems/mail-2.6.6/lib/mail/fields/content_id_field.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
mail-2.6.6 lib/mail/fields/content_id_field.rb
mail-2.7.0.rc1 lib/mail/fields/content_id_field.rb
mail-2.6.6.rc1 lib/mail/fields/content_id_field.rb
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/mail-2.6.5/lib/mail/fields/content_id_field.rb
mail-2.6.5 lib/mail/fields/content_id_field.rb
mail-2.6.5.rc1 lib/mail/fields/content_id_field.rb
tdiary-5.0.4 vendor/bundle/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.2.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.2.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.2.0 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.1.2 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.1.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.1.0 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
autocompl-0.0.1 test/dummy/vendor/bundle/ruby/2.3.0/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
abaci-0.3.0 vendor/bundle/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb
tdiary-5.0.2 vendor/bundle/gems/mail-2.6.4/lib/mail/fields/content_id_field.rb