relevance-chatterbox 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/chatterbox.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{chatterbox}
8
- s.version = "0.3.0"
8
+ s.version = "0.3.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Rob Sanheim"]
@@ -4,7 +4,7 @@ require 'chatterbox'
4
4
  describe Chatterbox::Mailer do
5
5
 
6
6
  it "displays environment vars sorted" do
7
- data = {
7
+ notice = {
8
8
  :environment => {
9
9
  "PATH" => "/usr/bin",
10
10
  "PS1" => "$",
@@ -16,16 +16,33 @@ PATH => /usr/bin
16
16
  PS1 => $
17
17
  TMPDIR => /tmp
18
18
  EOL
19
- mail = Chatterbox::Mailer.create_exception_notification(data)
19
+ mail = Chatterbox::Mailer.create_exception_notification(notice)
20
20
  mail.body.should include(expected.strip)
21
21
  end
22
22
 
23
+ it "displays any other details in the hash in the email body" do
24
+ notice = {
25
+ :details => {
26
+ :message_id => 'user01-create', :current_user => "Chris Liebing"},
27
+ :environment => { :path => "foo" }
28
+ }
29
+ Chatterbox::Mailer.create_exception_notification(notice)
30
+ expected = <<EOL
31
+ Details
32
+ -------
33
+ current_user => Chris Liebing
34
+ message_id => user01-create
35
+ EOL
36
+ mail = Chatterbox::Mailer.create_exception_notification(notice)
37
+ mail.body.should include(expected.strip)
38
+ end
39
+
23
40
  it "does not mutate the provided hash" do
24
- input = {'foo' => 'bar', :environment => {}}
25
- Chatterbox::Mailer.create_exception_notification(input)
26
- input.should == {'foo' => 'bar', :environment => {}}
41
+ notice = {'foo' => 'bar', :environment => {}}
42
+ Chatterbox::Mailer.create_exception_notification(notice)
43
+ notice.should == {'foo' => 'bar', :environment => {}}
27
44
  end
28
-
45
+
29
46
  describe "subject" do
30
47
 
31
48
  it "extracts the subject from the given data hash when the key is a symbol" do
@@ -14,6 +14,13 @@ module Chatterbox
14
14
 
15
15
  end
16
16
 
17
+ # Things taken out of the hash for exception emails:
18
+ #
19
+ # :details => a hash of details about the context of the error -- ie current state, request info, etc...any info
20
+ # related to the exception that is domain specific
21
+ # :error_class => taken from the Exception
22
+ # :error_message => taken from the Exception
23
+ # :backtrace => taken from the Exception
17
24
  class Mailer < ActionMailer::Base
18
25
  @@sender_address = %("Exception Notifier" <exception.notifier@default.com>)
19
26
  cattr_accessor :sender_address
@@ -29,11 +36,11 @@ module Chatterbox
29
36
  def self.reloadable?() false end
30
37
 
31
38
  def exception_notification(data={})
32
- data = data.symbolize_keys
39
+ data = data.dup.symbolize_keys
33
40
 
34
41
  content_type "text/plain"
35
42
 
36
- subject "#{email_prefix} Error - #{data[:summary]}"
43
+ subject "#{email_prefix} Error - #{data.delete(:summary)}"
37
44
 
38
45
  recipients exception_recipients
39
46
  from sender_address
data/version.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 3
4
- :patch: 0
4
+ :patch: 1
@@ -2,12 +2,18 @@ Error Message
2
2
  --------------
3
3
  <%= @error_class %>: <%= @error_message %>
4
4
 
5
+ Details
6
+ -------
7
+ <% @details.keys.map(&:to_s).sort.each do |key| -%>
8
+ <%= %[#{key} => #{@details[key.to_sym]}] %>
9
+ <% end if @details -%>
10
+
5
11
  Backtrace
6
12
  ----------
7
13
  <%= @backtrace.join "\n" if @backtrace %>
8
14
 
9
15
  Environment
10
16
  ------------
11
- <% @environment.keys.sort.each do |key| %>
12
- <%= %[#{key} => #{@environment[key]}] -%>
17
+ <% @environment.keys.sort.each do |key| -%>
18
+ <%= %[#{key} => #{@environment[key]}] %>
13
19
  <% end -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relevance-chatterbox
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Sanheim
@@ -46,6 +46,7 @@ files:
46
46
  - views/chatterbox/mailer/exception_notification.erb
47
47
  has_rdoc: false
48
48
  homepage: http://github.com/relevance/chatterbox
49
+ licenses:
49
50
  post_install_message:
50
51
  rdoc_options:
51
52
  - --charset=UTF-8
@@ -66,7 +67,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
66
67
  requirements: []
67
68
 
68
69
  rubyforge_project:
69
- rubygems_version: 1.2.0
70
+ rubygems_version: 1.3.5
70
71
  signing_key:
71
72
  specification_version: 3
72
73
  summary: TODO