8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/actionmailer_host_autoset/actionmailer_host_autoset.rb', line 8
def actionmailer_host_autoset
begin
request = self.request
::ActionMailer::Base.class_eval do
@old_default_url_options = default_url_options.clone
default_url_options[:host] = request.host
default_url_options[:port] = request.port unless [80, 443].include?(request.port)
protocol = /(.*):\/\//.match(request.protocol)[1] if request.protocol.ends_with?("://")
default_url_options[:protocol] = protocol
end
yield
ensure
::ActionMailer::Base.class_eval do
default_url_options[:host] = @old_default_url_options[:host]
default_url_options[:port] = @old_default_url_options[:port] unless @old_default_url_options[:port].nil?
default_url_options[:protocol] = @old_default_url_options[:protocol]
end
end
end
|