Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Apr 15, 2015
  1. @jeremy

    Support decoding message bodies with non-Ruby-standard charsets

    jeremy authored
    We already have support for these additional charsets in message headers
    but didn't use the same code path for message bodies themselves.
    Adds support for GB2312, ks_c_5601-1987, ISO-2022-JP-KDDI, ISO-8859-8-I
    and more.
Commits on Apr 13, 2015
  1. @kjg

    Use the Ruby19.charset_encoder when decoding message bodies

    kjg authored
    To maintain consistency with param decoding
Commits on Mar 31, 2015
  1. @kjg

    An invalid body encoding should still round trip

    kjg authored
    I don't think the `if transfer_encoding == encoding` was adding anything
    because the following logic would always error if dec was nil
Commits on Mar 19, 2015
  1. @jeremy

    Merge pull request #839 from jeremyevans/add_file

    jeremy authored
    Allow more options when using Message#add_file
  2. @bf4

    Merge pull request #849 from kjg/handle_invalid_content_disposition

    bf4 authored
    Handle parts with an un-parsable content-disposition
Commits on Feb 26, 2015
  1. @robin850

    Make YAML serialization backward-compatible

    robin850 authored
    Previously, the object would have been serialized as an Array even
    though YAML wouldn't be able to round-trip. Let's keep this behavior for
    now to make upgrade smoother to this new "layer".
  2. @robin850

    Use the "composition over inheritance" technique

    robin850 authored
    Instead of inheriting from `Array`, let's create an attribute that is an
    array. The current object doesn't fit with the Liskov substitution
    principle as, for instance, #sort is broken on Rubinius.
    This makes the `PartsList` class compatible with Rubinius as `undef map`
    will remove the map method but some other Enumerable methods (e.g. sort)
    rely on it.
    Also add  fallback for Array's methods for the sake of backward
    compatibility, we need to provide a fallback for missing method that may
    be used in the existing libraries.
    To avoid all the necessary boilerplate to provide such fallback, let's
    rely on the standard library's delegate gem and its DelegateClass
Commits on Jan 27, 2015
  1. @kjg
Commits on Nov 30, 2014
  1. Add alternative paths for pre- and post-1.9.2 rubies

    Felix Schäfer authored
Commits on Nov 25, 2014
  1. @jeremyevans

    Allow more options when using Message#add_file

    jeremyevans authored
    Previously, Message#add_file would ignore options other than
    :filename and :content.  This breaks the principal of least
    surprise.  The documentation for #add_file says "see also
    attachments", and attachments shows other possible options,
    but those are not supported.
    This changes the code to pass an options hash given to add_file
    through to attachments[]=, allowing you to use options such as
    :mime_type or :content_disposition.  Currently, you have to do
    the following:
      add_file :filename=>"cal.ics", :content=>c.to_ical
      attachments.last.content_type 'text/calendar'
    You would think you could work around this using:
      attachments["cal.ics"] = {:content=>c.to_ical,
    However, that doesn't work because unlike add_file,
    attachments[]= doesn't automatically convert the message to
    multipart, which results in the removal of the existing body.
    With this change, you can now do:
      add_file :filename=>"cal.ics", :content=>c.to_ical,
Commits on Nov 23, 2014
Commits on Nov 17, 2014
  1. @grosser

    support nil charset

    grosser authored
Commits on Nov 14, 2014
  1. @grosser

    normalize encoding matchers

    grosser authored
  2. @grosser
Commits on Nov 13, 2014
  1. @grosser
  2. @grosser
Commits on Nov 3, 2014
  1. Change version to edge build

Commits on Oct 31, 2014
  1. @jeremy

    Merge pull request #796 from zendesk/grosser/uu

    jeremy authored
    support uu encoding
Commits on Oct 29, 2014
  1. @grosser

    support uu encoding

    grosser authored
Commits on Oct 23, 2014
  1. @bf4

    Merge branch '2-6-stable'

    bf4 authored
Commits on Oct 22, 2014
  1. @bf4

    Bump to 2.6.2; update changelog

    bf4 authored
  2. @grosser @bf4

    autoload parsers for load-time speed and memory usage

    grosser authored bf4 committed
  3. @jeremy @bf4

    Merge pull request #681 from srawlins/allocate-less-things

    jeremy authored bf4 committed
    Allocate less things
  4. @jeremy @bf4

    Cope with raw sources that were read with the wrong encoding.

    jeremy authored bf4 committed
    Force raw message source to binary encoding before doing CRLF
    conversion, masking common issues when users read a message using the
    default external encoding (UTF-8), resulting in invalid UTF-8 characters
    that break the regexp used for CRLF conversion.
    Fixes #736.
Commits on Sep 25, 2014
  1. @grosser
Commits on Sep 17, 2014
  1. @keithmgould

    defends against libraries (such as ruby-units) which override divisio…

    keithmgould authored
    …n yielding non-zero values for fractions like 1/2
Commits on Aug 29, 2014
  1. @jeremy

    Merge pull request #785 from zendesk/grosser/converter

    jeremy authored
    Configurable charset encoders. Default to strict charset/encoding match. Provide a "best effort" encoder that may be lossy.
Commits on Aug 27, 2014
  1. @grosser

    add BestEffortCharsetEncoder

    grosser authored
  2. @grosser

    extract converter

    grosser authored
  3. @jeremy

    Merge pull request #745 from raindrift/master

    jeremy authored
    Support for null envelope sender
  4. @jeremy

    Merge pull request #757 from zendesk/grosser/missing-boundary

    jeremy authored
    deal with missing closing boundary
  5. @jeremy

    Merge pull request #776 from zendesk/grosser/double-strip

    jeremy authored
    simplify encoding splitter and support whitespace inside encoded
  6. @grosser

    universal splitting solution

    grosser authored
  7. @grosser
Something went wrong with that request. Please try again.