Module: SanitizeEmail

Extended by:
Deprecation
Defined in:
lib/sanitize_email.rb,
lib/sanitize_email/bleach.rb,
lib/sanitize_email/config.rb,
lib/sanitize_email/engine.rb,
lib/sanitize_email/railtie.rb,
lib/sanitize_email/version.rb,
lib/sanitize_email/deprecation.rb,
lib/sanitize_email/test_helpers.rb,
lib/sanitize_email/rspec_matchers.rb,
lib/sanitize_email/mail_header_tools.rb,
lib/sanitize_email/overridden_addresses.rb

Overview

Copyright © 2008-16 Peter H. Boling of RailsBling.com Released under the MIT license

Defined Under Namespace

Modules: Deprecation, MailExt, MailHeaderTools, RspecMatchers, TestHelpers Classes: Bleach, Config, Engine, MissingBlockParameter, OverriddenAddresses, Railtie

Constant Summary collapse

VERSION =
'1.2.0'

Class Attribute Summary collapse

Class Method Summary collapse

Methods included from Deprecation

deprecated, deprecated_alias, deprecation, deprecation_warning_message

Class Attribute Details

.force_sanitizeObject

Returns the value of attribute force_sanitize.



64
65
66
# File 'lib/sanitize_email.rb', line 64

def force_sanitize
  @force_sanitize
end

Class Method Details

.[](key) ⇒ Object



37
38
39
40
# File 'lib/sanitize_email.rb', line 37

def self.[](key)
  return nil unless key.respond_to?(:to_sym)
  SanitizeEmail::Config.config[key.to_sym]
end

.activate?(message) ⇒ Boolean

Returns:

  • (Boolean)


58
59
60
61
# File 'lib/sanitize_email.rb', line 58

def self.activate?(message)
  proc = SanitizeEmail::Config.config[:activation_proc]
  proc.call(message) if proc.respond_to?(:call)
end

.janitor(options, &block) ⇒ Object



109
110
111
112
113
114
115
# File 'lib/sanitize_email.rb', line 109

def self.janitor(options, &block)
  raise MissingBlockParameter, "SanitizeEmail.janitor must be called with a block" unless block_given?
  original = SanitizeEmail.force_sanitize
  SanitizeEmail.force_sanitize = options[:forcing]
  yield
  SanitizeEmail.force_sanitize = original
end

.local_environmentsObject

NOTE: Deprecated method We have to actually define because we can’t deprecate methods that are hooked up via method_missing



54
55
56
# File 'lib/sanitize_email.rb', line 54

def self.local_environments
  SanitizeEmail::Config.config[:local_environments]
end

.method_missing(name, *_) ⇒ Object



42
43
44
# File 'lib/sanitize_email.rb', line 42

def self.method_missing(name, *_)
  SanitizeEmail[name]
end

.sanitary(config_options = {}, &block) ⇒ Object

Regardless of the Config settings of SanitizeEmail you can do a local override to send sanitary email in any environment. You have access to all the same configuration options in the parameter hash as you can set in the actual SanitizeEmail.configure block.

SanitizeEmail.sanitary(=> ‘[email protected]’) do # these config options are merged with the globals

Mail.deliver do
  from      '[email protected]'
  to        '[email protected]' # Will actually be sent to the override addresses, in this case: [email protected]
  reply_to  '[email protected]'
  subject   'subject'
end

end



81
82
83
84
85
86
87
88
89
# File 'lib/sanitize_email.rb', line 81

def self.sanitary(config_options = {}, &block)
  raise MissingBlockParameter, "SanitizeEmail.sanitary must be called with a block" unless block_given?
  janitor({:forcing => true}) do
    original = SanitizeEmail::Config.config.dup
    SanitizeEmail::Config.config.merge!(config_options)
    yield
    SanitizeEmail::Config.config = original
  end
end

.sanitized_recipientsObject

NOTE: Deprecated method We have to actually define because we can’t deprecate methods that are hooked up via method_missing



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

def self.sanitized_recipients
  SanitizeEmail::Config.config[:sanitized_recipients]
end

.unsanitary(&block) ⇒ Object

Regardless of the Config settings of SanitizeEmail you can do a local override to force unsanitary email in any environment.

SanitizeEmail.unsanitary do

Mail.deliver do
  from      '[email protected]'
  to        '[email protected]'
  reply_to  '[email protected]'
  subject   'subject'
end

end



102
103
104
105
106
107
# File 'lib/sanitize_email.rb', line 102

def self.unsanitary &block
  raise MissingBlockParameter, "SanitizeEmail.unsanitary must be called with a block" unless block_given?
  janitor({:forcing => false}) do
    yield
  end
end