Parent

Class Index [+]

Quicksearch

Mail::Ruby18

Public Class Methods

b_value_decode(str) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 62
62:     def Ruby18.b_value_decode(str)
63:       match = str.match(/\=\?(.+)?\?[Bb]\?(.+)?\?\=/)
64:       if match
65:         encoding = match[1]
66:         str = Ruby18.decode_base64(match[2])
67:       end
68:       str
69:     end
b_value_encode(str, encoding) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 55
55:     def Ruby18.b_value_encode(str, encoding)
56:       # Ruby 1.8 requires an encoding to work
57:       raise ArgumentError, "Must supply an encoding" if encoding.nil?
58:       encoding = encoding.to_s.upcase.gsub('_', '-')
59:       [Encodings::Base64.encode(str), encoding]
60:     end
bracket( str ) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 33
33:     def Ruby18.bracket( str )
34:       str = $1 if str =~ /^\<(.*)?\>$/
35:       str = escape_bracket( str )
36:       '<' + str + '>'
37:     end
decode_base64(str) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 39
39:     def Ruby18.decode_base64(str)
40:       Base64.decode64(str)
41:     end
encode_base64(str) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 43
43:     def Ruby18.encode_base64(str)
44:       Base64.encode64(str)
45:     end
escape_bracket( str ) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 24
24:     def Ruby18.escape_bracket( str )
25:       re = /\\\>/
26:       str = str.gsub(re) { |s| '>'}
27:       re = /\\\</
28:       str = str.gsub(re) { |s| '<'}
29:       re = /([\<\>])/          # Only match unescaped parens
30:       str.gsub(re) { |s| '\' + s }
31:     end
escape_paren( str ) click to toggle source

Escapes any parenthesis in a string that are unescaped. This can’t use the Ruby 1.9.1 regexp feature of negative look behind so we have to do two replacement, first unescape everything, then re-escape it

    # File lib/mail/version_specific/ruby_1_8.rb, line 9
 9:     def Ruby18.escape_paren( str )
10:       re = /\\\)/
11:       str = str.gsub(re) { |s| ')'}
12:       re = /\\\(/
13:       str = str.gsub(re) { |s| '('}
14:       re = /([\(\)])/          # Only match unescaped parens
15:       str.gsub(re) { |s| '\' + s }
16:     end
get_constant(klass, string) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 51
51:     def Ruby18.get_constant(klass, string)
52:       klass.const_get( string )
53:     end
has_constant?(klass, string) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 47
47:     def Ruby18.has_constant?(klass, string)
48:       klass.constants.include?( string )
49:     end
param_decode(str, encoding) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 87
87:     def Ruby18.param_decode(str, encoding)
88:       URI.unescape(str)
89:     end
param_encode(str) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 91
91:     def Ruby18.param_encode(str)
92:       encoding = $KCODE.to_s.downcase
93:       language = Configuration.instance.param_encode_language
94:       "#{encoding}'#{language}'#{URI.escape(str)}"
95:     end
paren( str ) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 18
18:     def Ruby18.paren( str )
19:       str = $1 if str =~ /^\((.*)?\)$/
20:       str = escape_paren( str )
21:       '(' + str + ')'
22:     end
q_value_decode(str) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 78
78:     def Ruby18.q_value_decode(str)
79:       match = str.match(/\=\?(.+)?\?[Qq]\?(.+)?\?\=/)
80:       if match
81:         encoding = match[1]
82:         str = Encodings::QuotedPrintable.decode(match[2])
83:       end
84:       str
85:     end
q_value_encode(str, encoding) click to toggle source
    # File lib/mail/version_specific/ruby_1_8.rb, line 71
71:     def Ruby18.q_value_encode(str, encoding)
72:       # Ruby 1.8 requires an encoding to work
73:       raise ArgumentError, "Must supply an encoding" if encoding.nil?
74:       encoding = encoding.to_s.upcase.gsub('_', '-')
75:       [Encodings::QuotedPrintable.encode(str), encoding]
76:     end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.