Created
March 27, 2014 15:53
-
-
Save joerodriguez/9810744 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | |
<html> | |
<head> | |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> | |
<style> | |
.AlignLeft { text-align: left; } | |
.AlignCenter { text-align: center; } | |
.AlignRight { text-align: right; } | |
body { font-family: sans-serif; font-size: 11pt; } | |
td { vertical-align: top; padding-left: 4px; padding-right: 4px; } | |
tr.SectionGap td { font-size: 4px; border-left: none; border-top: none; border-bottom: 1px solid Black; border-right: 1px solid Black; } | |
tr.SectionAll td { border-left: none; border-top: none; border-bottom: 1px solid Black; border-right: 1px solid Black; } | |
tr.SectionBegin td { border-left: none; border-top: none; border-right: 1px solid Black; } | |
tr.SectionEnd td { border-left: none; border-top: none; border-bottom: 1px solid Black; border-right: 1px solid Black; } | |
tr.SectionMiddle td { border-left: none; border-top: none; border-right: 1px solid Black; } | |
tr.SubsectionAll td { border-left: none; border-top: none; border-bottom: 1px solid Gray; border-right: 1px solid Black; } | |
tr.SubsectionEnd td { border-left: none; border-top: none; border-bottom: 1px solid Gray; border-right: 1px solid Black; } | |
table.fc { border-top: 1px solid Black; border-left: 1px solid Black; width: 100%; font-family: monospace; font-size: 10pt; } | |
td.TextItemInsigAdd { color: #000000; background-color: #FFF3EB; } | |
td.TextItemInsigDel { color: #000000; background-color: #FFF3EB; text-decoration: line-through; } | |
td.TextItemInsigMod { color: #000000; background-color: #FFF3EB; } | |
td.TextItemInsigOrphan { color: #000000; background-color: #E9F9F5; } | |
td.TextItemNum { color: #827357; background-color: #F2F2F2; } | |
td.TextItemSame { color: #000000; background-color: #FFFFFF; } | |
td.TextItemSigAdd { color: #000000; background-color: #FFE3E3; } | |
td.TextItemSigDel { color: #000000; background-color: #FFE3E3; text-decoration: line-through; } | |
td.TextItemSigMod { color: #000000; background-color: #FFE3E3; } | |
td.TextItemSigOrphan { color: #000000; background-color: #DCF6F6; } | |
.TextSegInsigDiff { color: #D58000; } | |
.TextSegReplacedDiff { color: #D58000; font-style: italic; } | |
.TextSegSigDiff { color: #FF0000; } | |
</style> | |
<title>Text Compare</title> | |
</head> | |
<body> | |
Text Compare<br/> | |
Produced: 3/27/14 9:47:03 AM<br/> | |
| |
<br/> | |
Mode: All | |
<br/> | |
File: | |
<br/> | |
<table class="fc" cellspacing="0" cellpadding="0"> | |
<tr class="SectionBegin"> | |
<td class="TextItemSame">#</td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame">#</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># Copyright (C) 2013 Instructure, Inc.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># Copyright (C) 2013 Instructure, Inc.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame">#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame">#</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># This file is part of Canvas.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># This file is part of Canvas.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame">#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame">#</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># Canvas is free software: you can redistribute it and/or modify it under</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># Canvas is free software: you can redistribute it and/or modify it under</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># the terms of the GNU Affero General Public License as published by the Free</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># the terms of the GNU Affero General Public License as published by the Free</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># Software Foundation, version 3 of the License.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># Software Foundation, version 3 of the License.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame">#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame">#</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># Canvas is distributed in the hope that it will be useful, but WITHOUT ANY</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># Canvas is distributed in the hope that it will be useful, but WITHOUT ANY</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># A PARTICULAR PURPOSE. See the GNU Affero General Public License for more</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># A PARTICULAR PURPOSE. See the GNU Affero General Public License for more</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># details.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># details.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame">#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame">#</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># You should have received a copy of the GNU Affero General Public License along</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># You should have received a copy of the GNU Affero General Public License along</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"># with this program. If not, see <http://www.gnu.org/licenses/>.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"># with this program. If not, see <http://www.gnu.org/licenses/>.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame">#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame">#</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemSigMod"><span class="TextSegSigDiff">#</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">Public:</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">Error</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">thrown</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">when</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">ReplyToAddress</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">is</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">used</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">with</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">an</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">empty</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">address</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">pool.</span></td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"><span class="TextSegSigDiff">class</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">EmptyReplyAddressPool</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff"><</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">StandardError;</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">end</span></td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"><span class="TextSegSigDiff">module</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">IncomingMail</span></td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"> </td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"><span class="TextSegInsigDiff"> </span># Public: Represents a reply-to address for a message.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"># Public: Represents a reply-to address for a message.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"><span class="TextSegInsigDiff"> </span>class ReplyToAddress</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod">class ReplyToAddress</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>attr_reader :message</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> attr_reader :message</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemSigMod"><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">#</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">Public:</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">Error</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">thrown</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">when</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">IncomingMail::ReplyToAddress</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">is</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">used</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">with</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">an</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">empty</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">address</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">pool.</span></td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">class</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">EmptyReplyAddressPool</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff"><</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">StandardError</span></td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">end</span></td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> </td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"> <span class="TextSegInsigDiff"> </span># Public: Create a new <span class="TextSegSigDiff">IncomingMail::</span>ReplyToAddress.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"> # Public: Create a new ReplyToAddress.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> #</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># message - A Message object.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # message - A Message object.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"> <span class="TextSegInsigDiff"> </span>def initialize(message<span class="TextSegSigDiff">,</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">encryption_key</span>)</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"> def initialize(message)</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>@message = message</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> @message = message</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">@encryption_key</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">=</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">encryption_key</span></td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> end</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Public: Construct a reply-to address.</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> # Public: Construct a reply-to address.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> #</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Returns an email address string.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # Returns an email address string.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>def address</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> def address</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>return nil if message.path_type == 'sms'</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> return nil if message.path_type == 'sms'</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>return message.from if message.context_type == 'ErrorReport'</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> return message.from if message.context_type == 'ErrorReport'</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemSigMod"> <span class="TextSegInsigDiff"> </span>address, domain = <span class="TextSegSigDiff">IncomingMail::</span>ReplyToAddress.address_from_pool(message).split('@')</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemSigMod"> address, domain = ReplyToAddress.address_from_pool(message).split('@')</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>"#{address}+#{secure_id}-#{message.global_id}@#{domain}"</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> "#{address}+#{secure_id}-#{message.global_id}@#{domain}"</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> end</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>alias :to_s :address</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> alias :to_s :address</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Public: Generate the unique, secure ID for this address' message.</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> # Public: Generate the unique, secure ID for this address' message.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> #</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Returns a secure ID string.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # Returns a secure ID string.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>def secure_id</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> def secure_id</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"> <span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">Open</span><span class="TextSegSigDiff">SSL</span>::<span class="TextSegSigDiff">HMAC.hexdigest(OpenSSL::Digest::Digest.new('</span>sha1<span class="TextSegSigDiff">'),</span><span class="TextSegInsigDiff"> </span><span class="TextSegSigDiff">@encryption_key,</span><span class="TextSegInsigDiff"> </span>message.global_id.to_s)</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"> <span class="TextSegSigDiff">Ca</span><span class="TextSegSigDiff">nvas</span>::<span class="TextSegSigDiff">S</span><span class="TextSegSigDiff">ecur</span><span class="TextSegSigDiff">i</span><span class="TextSegSigDiff">ty</span><span class="TextSegSigDiff">.hmac_</span>sha1<span class="TextSegSigDiff">(</span>message.global_id.to_s)</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> end</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>class << self</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> class << self</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Internal: An array of email addresses to be used in the reply-to field.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # Internal: An array of email addresses to be used in the reply-to field.</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>attr_writer :address_pool</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> attr_writer :address_pool</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Public: Return a reply-to address from the class' address pool. Use a</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> # Public: Return a reply-to address from the class' address pool. Use a</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># modulo operation w/ the message ID to ensure that the same Reply-To is</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # modulo operation w/ the message ID to ensure that the same Reply-To is</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># always used for a given message.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # always used for a given message.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> #</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># message - A message object to construct a reply-to address for.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # message - A message object to construct a reply-to address for.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>#</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> #</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Returns an email address string.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # Returns an email address string.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>def address_from_pool(message)</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> def address_from_pool(message)</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"> <span class="TextSegInsigDiff"> </span>raise <span class="TextSegSigDiff">IncomingMail::ReplyToAddress::</span>EmptyReplyAddressPool <span class="TextSegSigDiff">if</span> address_pool.<span class="TextSegSigDiff">emp</span><span class="TextSegSigDiff">ty</span>?</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"> raise EmptyReplyAddressPool <span class="TextSegSigDiff">unless</span> address_pool.<span class="TextSegSigDiff">present</span>?</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemSigMod"> <span class="TextSegInsigDiff"> </span>index = if <span class="TextSegSigDiff">!</span>message.id.<span class="TextSegSigDiff">nil</span>?</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSigMod"> index = if message.id.<span class="TextSegSigDiff">present</span>?</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>message.id % address_pool.length</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> message.id % address_pool.length</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>else</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> else</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>rand(address_pool.length)</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> rand(address_pool.length)</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> end</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>address_pool[index]</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> address_pool[index]</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> end</td> | |
</tr> | |
<tr class="SectionAll"> | |
<td class="TextItemSame"> </td> | |
<td class="AlignCenter">=</td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
<tr class="SectionBegin"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>private</td> | |
<td class="AlignCenter"><></td> | |
<td class="TextItemInsigMod"> private</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span># Internal: Array of email addresses to use as Reply-To addresses.</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> # Internal: Array of email addresses to use as Reply-To addresses.</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>attr_reader :address_pool</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> attr_reader :address_pool</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"> <span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod"> end</td> | |
</tr> | |
<tr class="SectionMiddle"> | |
<td class="TextItemInsigMod"><span class="TextSegInsigDiff"> </span>end</td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemInsigMod">end</td> | |
</tr> | |
<tr class="SectionEnd"> | |
<td class="TextItemSigMod"><span class="TextSegSigDiff">end</span></td> | |
<td class="AlignCenter"> </td> | |
<td class="TextItemSame"> </td> | |
</tr> | |
</table> | |
<br/> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment