[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sup-talk] [PATCH] moved deriving the cmd for bouncing to Account and fixed a bug in it



The default sendmail command used for bouncing mail was derived from
Account#sendmail in ThreadViewMode#bounce.  Moved it to
Account#bounce_sendmail.  Part of work towards more DRY mail bouncing
within mark-as-spam hook. The code also had a bug, "$1" (instead of $1
or "#{$1}").  Fixed it.

Signed-off-by: Tero Tilus <tero@tilus.net>
---
 lib/sup/account.rb                |   11 +++++++++++
 lib/sup/modes/thread-view-mode.rb |    7 +------
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/lib/sup/account.rb b/lib/sup/account.rb
index eed2794..bf8a8a0 100644
--- a/lib/sup/account.rb
+++ b/lib/sup/account.rb
@@ -10,6 +10,17 @@ class Account < Person
     @sendmail = h[:sendmail]
     @signature = h[:signature]
   end
+
+  # Default sendmail command for bouncing mail,
+  # deduced from #sendmail
+  def bounce_sendmail
+    sendmail.sub(/\s(\-(ti|it|t))\b/) do |match|
+      case $1
+      when '-t' then ''
+      else ' -i'
+      end
+    end
+  end
 end
 
 class AccountManager
diff --git a/lib/sup/modes/thread-view-mode.rb b/lib/sup/modes/thread-view-mode.rb
index 81197c2..e7f4a4f 100644
--- a/lib/sup/modes/thread-view-mode.rb
+++ b/lib/sup/modes/thread-view-mode.rb
@@ -202,12 +202,7 @@ EOS
     m = @message_lines[curpos] or return
     to = BufferManager.ask_for_contacts(:people, "Bounce To: ") or return
 
-    defcmd = AccountManager.default_account.sendmail.sub(/\s(\-(ti|it|t))\b/) do |match|
-      case "$1"
-        when '-t' then ''
-        else ' -i'
-      end
-    end
+    defcmd = AccountManager.default_account.bounce_sendmail
 
     cmd = case (hookcmd = HookManager.run "bounce-command", :from => m.from, :to => to)
           when nil, /^$/ then defcmd
-- 
1.5.6.5

-- 
Tero Tilus ## 050 3635 235 ## http://tero.tilus.net/
_______________________________________________
sup-talk mailing list
sup-talk@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-talk