Method: Mail::Encodings::TransferEncoding.renegotiate

Defined in:
lib/mail/encodings/transfer_encoding.rb

.renegotiate(message_encoding, source_encoding, str, allowed_encodings = nil) ⇒ Object



46
47
48
49
50
51
52
53
54
# File 'lib/mail/encodings/transfer_encoding.rb', line 46

def self.renegotiate(message_encoding, source_encoding, str, allowed_encodings = nil)
  encodings = Encodings.get_all.select do |enc|
    (allowed_encodings.nil? || allowed_encodings.include?(enc)) &&
      message_encoding.can_transport?(enc) &&
      enc.can_encode?(source_encoding)
  end

  lowest_cost(str, encodings)
end