]> git.cworth.org Git - sup/blobdiff - lib/sup/modes/reply-mode.rb
Merge branch 'master' into next
[sup] / lib / sup / modes / reply-mode.rb
index 2d05f15208de168aa7ad1e41dc0a4a75791839cb..e7b2929861064e6e039280d4e9cdb5e13c61eca9 100644 (file)
@@ -10,10 +10,11 @@ class ReplyMode < EditMessageMode
     :user => "Customized"
   }
 
-  HookManager.register "quoteline", <<EOS
-Generates a quote line "On 1/4/2007, Joe Bloggs wrote:".
+  HookManager.register "attribution", <<EOS
+Generates an attribution ("Excerpts from Joe Bloggs's message of Fri Jan 11 09:54:32 -0500 2008:").
 Variables:
-      message: A message object representing the message being replied to
+  message: a message object representing the message being replied to
+    (useful values include message.from.name and message.date)
 Return value:
   A string containing the text of the quote line (can be multi-line)
 EOS
@@ -100,6 +101,10 @@ EOS
         :recipient
       end)
 
+    @headers.each do |k, v|
+      HookManager.run "before-edit", :header => v, :body => body
+    end
+
     super :header => @headers[@type_selector.val], :body => body, :twiddles => false
     add_selector @type_selector
   end
@@ -123,13 +128,13 @@ protected
   end
 
   def reply_body_lines m
-    quoteline = HookManager.run("quoteline", :message => m) || default_quoteline(m)
-    lines = quoteline.split("\n") + m.quotable_body_lines.map { |l| "> #{l}" }
+    attribution = HookManager.run("attribution", :message => m) || default_attribution(m)
+    lines = attribution.split("\n") + m.quotable_body_lines.map { |l| "> #{l}" }
     lines.pop while lines.last =~ /^\s*$/
     lines
   end
 
-  def default_quoteline m
+  def default_attribution m
     "Excerpts from #{@m.from.name}'s message of #{@m.date}:"
   end