Sha256: 489545062aabc316a6b9f3c5d9b6540ec69e97ac634a52d8d678596f08c5944c

Contents?: true

Size: 1.66 KB

Versions: 147

Compression:

Stored size: 1.66 KB

Contents

# encoding: utf-8
module Mail #:nodoc:
  module Multibyte
    require 'mail/multibyte/exceptions'
    require 'mail/multibyte/chars'
    require 'mail/multibyte/unicode'

    # The proxy class returned when calling mb_chars. You can use this accessor to configure your own proxy
    # class so you can support other encodings. See the Mail::Multibyte::Chars implementation for
    # an example how to do this.
    #
    # Example:
    #   Mail::Multibyte.proxy_class = CharsForUTF32
    def self.proxy_class=(klass)
      @proxy_class = klass
    end

    # Returns the current proxy class
    def self.proxy_class
      @proxy_class ||= Mail::Multibyte::Chars
    end

    # Regular expressions that describe valid byte sequences for a character
    VALID_CHARACTER = {
      # Borrowed from the Kconv library by Shinji KONO - (also as seen on the W3C site)
      'UTF-8' => /\A(?:
                  [\x00-\x7f]                                         |
                  [\xc2-\xdf] [\x80-\xbf]                             |
                  \xe0        [\xa0-\xbf] [\x80-\xbf]                 |
                  [\xe1-\xef] [\x80-\xbf] [\x80-\xbf]                 |
                  \xf0        [\x90-\xbf] [\x80-\xbf] [\x80-\xbf]     |
                  [\xf1-\xf3] [\x80-\xbf] [\x80-\xbf] [\x80-\xbf]     |
                  \xf4        [\x80-\x8f] [\x80-\xbf] [\x80-\xbf])\z /xn,
      # Quick check for valid Shift-JIS characters, disregards the odd-even pairing
      'Shift_JIS' => /\A(?:
                  [\x00-\x7e\xa1-\xdf]                                     |
                  [\x81-\x9f\xe0-\xef] [\x40-\x7e\x80-\x9e\x9f-\xfc])\z /xn
    }
  end
end

require 'mail/multibyte/utils'

Version data entries

147 entries across 134 versions & 20 rubygems

Version Path
challah-0.7.0 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
challah-0.7.0.pre2 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.8 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.7 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.6 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.5 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
challah-0.7.0.pre vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.2 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.1 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.5.0 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.4.2 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.4.1 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.4.0 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
classiccms-0.3.9 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
challah-0.6.2 vendor/bundle/gems/mail-2.4.1/lib/mail/multibyte.rb
challah-0.6.2 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/rails-uploader-0.0.1/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/multibyte.rb
sunrise-cms-0.3.3 vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/multibyte.rb
initforthe-cookies-0.0.1 vendor/bundle/gems/mail-2.4.4/lib/mail/multibyte.rb
sunrise-cms-0.3.2 vendor/bundle/ruby/1.9.1/gems/rails-uploader-0.0.1/vendor/bundle/ruby/1.9.1/gems/mail-2.4.4/lib/mail/multibyte.rb