Module: Mail::Jenc

Defined in:
lib/mail/jenc.rb,
lib/mail/jenc/config.rb,
lib/mail/jenc/version.rb,
lib/mail/jenc/b_encoder.rb,
lib/mail/jenc/message_patch.rb,
lib/mail/jenc/percent_encoder.rb,
lib/mail/jenc/rfc2231_encoder.rb,
lib/mail/jenc/utilities_patch.rb,
lib/mail/jenc/smtp_envelope_patch.rb,
lib/mail/jenc/attachments_list_patch.rb,
lib/mail/jenc/fields/address_field_patch.rb,
lib/mail/jenc/fields/unstructured_field_patch.rb

Defined Under Namespace

Modules: AttachmentsListPatch, CommonAddressFieldPatch, MessagePatch, SmtpEnvelopePatch, UnstructuredFieldPatch, UtilitiesPatch Classes: BEncoder, Config, PercentEncoder, RFC2231Encoder

Constant Summary collapse

THREAD_KEY =
:_mail_jenc
VERSION =
'1.3.0'
@@config =
Config.new(
  enabled: true,
  rfc2231: false,
  escape_sequence_charsets: ['iso-2022-jp'],
  preferred_charsets: {
    'iso-2022-jp' => 'cp50221',
    'shift_jis' => 'cp932'
  }
)

Class Method Summary collapse

Class Method Details

.configObject



28
29
30
# File 'lib/mail/jenc.rb', line 28

def config
  Thread.current[THREAD_KEY] || @@config
end

.configure {|@@config| ... } ⇒ Object

Yields:



22
23
24
# File 'lib/mail/jenc.rb', line 22

def configure
  yield @@config
end

.disable!Object



48
49
50
# File 'lib/mail/jenc.rb', line 48

def disable!
  config.enabled = false
end

.enable!Object



44
45
46
# File 'lib/mail/jenc.rb', line 44

def enable!
  config.enabled = true
end

.enabled?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/mail/jenc.rb', line 40

def enabled?
  config.enabled
end

.with_config(hash = {}) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/mail/jenc.rb', line 32

def with_config(hash = {})
  old = Thread.current[THREAD_KEY]
  Thread.current[THREAD_KEY] = Config.new(config.attributes.merge(hash))
  yield
ensure
  Thread.current[THREAD_KEY] = old
end