<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -21,12 +21,19 @@ class JsLogger::LoggingController &lt; ApplicationController
     JsLogger::Mailer.filter_messages || []
   end
 
+  def additional_data_proc
+    JsLogger::Mailer.additional_data || proc {}
+  end
+
 
   def log_params
-    %w(message line url user_agent backtrace).inject({}) do |hsh, key|
+    base = %w(message line url user_agent backtrace).inject({}) do |hsh, key|
       val = params[key]
       hsh[key.to_sym] = val if val.present?
       hsh
     end
+
+    base.merge({:additional_data =&gt; additional_data_proc.call(self)})
+    base
   end
 end</diff>
      <filename>app/controllers/js_logger/logging_controller.rb</filename>
    </modified>
    <modified>
      <diff>@@ -7,6 +7,8 @@ class JsLogger::LogEntry &lt; ActiveRecord::Base
 
   before_save :generate_log_hash
 
+  attr_accessor :additional_data
+
   protected
 
   def generate_log_hash</diff>
      <filename>app/models/js_logger/log_entry.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,7 @@
 class JsLogger::Mailer &lt; ActionMailer::Base
   cattr_accessor :mail_to
   cattr_accessor :filter_messages
+  cattr_accessor :additional_data
 
   def new_log_entry(log_entry)
     subject    &quot;JSLogger Error \&quot;#{log_entry.message}\&quot;&quot;</diff>
      <filename>app/models/js_logger/mailer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ Log Message: &lt;%= @log_entry.message %&gt;
 URL        : &lt;%= @log_entry.url %&gt;
 Line:      : &lt;%= @log_entry.line %&gt;
 User Agent : &lt;%= @log_entry.user_agent %&gt;
+Data       : &lt;%= @log_entry.additional_data.inspect %&gt;
 
 Backtrace  :
 </diff>
      <filename>app/views/js_logger/mailer/new_log_entry.erb</filename>
    </modified>
    <modified>
      <diff>@@ -4,6 +4,7 @@ Log Message: something happened
 URL        : http://google.com
 Line:      : 20
 User Agent : Ruby
+Data       : &quot;foo&quot;
 
 Backtrace  :
 </diff>
      <filename>test/fixtures/js_logger/mailer/new_log_entry</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require 'test_helper'
+require File.dirname(__FILE__) + '/../../test_helper'
 
 class JsLogger::LoggingControllerTest &lt; ActionController::TestCase
   tests JsLogger::LoggingController
@@ -24,6 +24,19 @@ class JsLogger::LoggingControllerTest &lt; ActionController::TestCase
     get :create, valid_params
   end
 
+  test &quot;should add additional data when configured&quot; do
+    begin
+      additional_data_proc = proc do |controller|
+      end
+      JsLogger::Mailer.additional_data = additional_data_proc
+
+      additional_data_proc.expects(:call).once
+      get :create, valid_params
+    ensure
+      JsLogger::Mailer.additional_data = nil
+    end
+  end
+
 
   test &quot;should send an email when the message didnt matche any of JsLogger::Mailer.filter_messages&quot; do
     begin</diff>
      <filename>test/functional/js_logger/logging_controller_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require 'test_helper'
+require File.dirname(__FILE__) + '/../../test_helper'
 
 class JsLogger::LogEntryTest &lt; ActiveSupport::TestCase
   should_validate_presence_of :message</diff>
      <filename>test/unit/js_logger/log_entry_test.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,4 +1,4 @@
-require 'test_helper'
+require File.dirname(__FILE__) + '/../../test_helper'
 
 class JsLogger::MailerTest &lt; ActionMailer::TestCase
   test &quot;new_log_entry&quot; do
@@ -8,7 +8,8 @@ class JsLogger::MailerTest &lt; ActionMailer::TestCase
       :line =&gt; &quot;20&quot;,
       :url =&gt; &quot;http://google.com&quot;,
       :user_agent =&gt; &quot;Ruby&quot;,
-      :backtrace =&gt; &quot;foo.js:12\nbar.js:1&quot;
+      :backtrace =&gt; &quot;foo.js:12\nbar.js:1&quot;,
+      :additional_data =&gt; &quot;foo&quot;
     )
 
     JsLogger::Mailer.mail_to = &quot;me@samedi.de&quot;</diff>
      <filename>test/unit/js_logger/mailer_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>a6bb68c6340f63088cf82b2b59c433aa97266a73</id>
    </parent>
  </parents>
  <author>
    <name>Michael Siebert</name>
    <email>siebertm85@googlemail.com</email>
  </author>
  <url>http://github.com/siebertm/js_logger/commit/c8c34a45ab346574ee435584b64a9259ad86ee51</url>
  <id>c8c34a45ab346574ee435584b64a9259ad86ee51</id>
  <committed-date>2009-10-18T06:57:57-07:00</committed-date>
  <authored-date>2009-10-18T06:57:57-07:00</authored-date>
  <message>add support for an additional_data proc to add some data to the mail</message>
  <tree>2b5ec4a176c33027d72cc7e71466b13d9983389f</tree>
  <committer>
    <name>Michael Siebert</name>
    <email>siebertm85@googlemail.com</email>
  </committer>
</commit>
