tartarus 1.0.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. data/.gitignore +1 -0
  2. data/.rvmrc +2 -0
  3. data/Gemfile +10 -0
  4. data/Gemfile.lock +104 -0
  5. data/README.rdoc +30 -4
  6. data/Rakefile +10 -28
  7. data/{generators → lib/generators}/tartarus/USAGE +4 -3
  8. data/lib/generators/tartarus/tartarus_generator.rb +36 -0
  9. data/{generators → lib/generators}/tartarus/templates/app/controllers/exceptions_controller.rb +0 -0
  10. data/{generators → lib/generators}/tartarus/templates/app/models/logged_exception.rb +0 -0
  11. data/{generators → lib/generators}/tartarus/templates/app/views/exceptions/_exception.html.erb +0 -0
  12. data/{generators → lib/generators}/tartarus/templates/app/views/exceptions/details.html.erb +0 -0
  13. data/{generators → lib/generators}/tartarus/templates/app/views/exceptions/index.html.erb +0 -0
  14. data/{generators → lib/generators}/tartarus/templates/config/exceptions.yml +0 -0
  15. data/{generators → lib/generators}/tartarus/templates/db/migrate/add_logged_exceptions.rb +0 -0
  16. data/{generators → lib/generators}/tartarus/templates/public/javascripts/tartarus.jquery.js +0 -0
  17. data/{generators → lib/generators}/tartarus/templates/public/stylesheets/tartarus.css +0 -0
  18. data/{generators → lib/generators}/tartarus/templates/spec/controllers/exceptions_controller_spec.rb +1 -1
  19. data/{generators → lib/generators}/tartarus/templates/spec/models/logged_exception_spec.rb +0 -0
  20. data/lib/tartarus.rb +7 -3
  21. data/lib/tartarus/logger.rb +50 -14
  22. data/lib/tartarus/notifiers/mail.rb +25 -0
  23. data/lib/tartarus/rack.rb +23 -0
  24. data/lib/tartarus/railtie.rb +9 -0
  25. data/lib/tartarus/version.rb +3 -0
  26. data/spec/rails_app/.gitignore +4 -0
  27. data/spec/rails_app/.rspec +1 -0
  28. data/spec/rails_app/Gemfile +13 -0
  29. data/spec/rails_app/Gemfile.lock +99 -0
  30. data/spec/rails_app/README +256 -0
  31. data/spec/rails_app/Rakefile +7 -0
  32. data/spec/rails_app/app/controllers/application_controller.rb +3 -0
  33. data/spec/rails_app/app/controllers/logged_exceptions_controller.rb +31 -0
  34. data/spec/rails_app/app/helpers/application_helper.rb +2 -0
  35. data/spec/{rails → rails_app}/app/models/logged_exception.rb +2 -1
  36. data/spec/rails_app/app/views/layouts/application.html.erb +14 -0
  37. data/spec/rails_app/app/views/logged_exceptions/_exception.html.erb +14 -0
  38. data/spec/rails_app/app/views/logged_exceptions/details.html.erb +86 -0
  39. data/spec/rails_app/app/views/logged_exceptions/index.html.erb +28 -0
  40. data/spec/rails_app/config.ru +4 -0
  41. data/spec/rails_app/config/application.rb +42 -0
  42. data/spec/rails_app/config/boot.rb +13 -0
  43. data/spec/rails_app/config/database.yml +22 -0
  44. data/spec/rails_app/config/environment.rb +5 -0
  45. data/spec/rails_app/config/environments/development.rb +26 -0
  46. data/spec/rails_app/config/environments/production.rb +49 -0
  47. data/spec/rails_app/config/environments/test.rb +35 -0
  48. data/spec/rails_app/config/exceptions.yml +18 -0
  49. data/spec/{rails → rails_app}/config/initializers/backtrace_silencers.rb +2 -2
  50. data/spec/{rails → rails_app}/config/initializers/inflections.rb +1 -1
  51. data/spec/{rails → rails_app}/config/initializers/mime_types.rb +0 -0
  52. data/spec/rails_app/config/initializers/secret_token.rb +7 -0
  53. data/spec/rails_app/config/initializers/session_store.rb +8 -0
  54. data/spec/{rails → rails_app}/config/locales/en.yml +1 -1
  55. data/spec/rails_app/config/routes.rb +58 -0
  56. data/spec/rails_app/db/migrate/20101230191040_add_logged_exception_table.rb +19 -0
  57. data/spec/rails_app/db/schema.rb +28 -0
  58. data/spec/rails_app/db/seeds.rb +7 -0
  59. data/spec/rails_app/doc/README_FOR_APP +2 -0
  60. data/spec/rails_app/lib/tasks/.gitkeep +0 -0
  61. data/spec/rails_app/public/404.html +26 -0
  62. data/spec/rails_app/public/422.html +26 -0
  63. data/spec/rails_app/public/500.html +26 -0
  64. data/spec/rails_app/public/favicon.ico +0 -0
  65. data/spec/rails_app/public/images/rails.png +0 -0
  66. data/spec/rails_app/public/javascripts/application.js +2 -0
  67. data/spec/rails_app/public/javascripts/controls.js +965 -0
  68. data/spec/rails_app/public/javascripts/dragdrop.js +974 -0
  69. data/spec/rails_app/public/javascripts/effects.js +1123 -0
  70. data/spec/rails_app/public/javascripts/prototype.js +6001 -0
  71. data/spec/rails_app/public/javascripts/rails.js +175 -0
  72. data/spec/rails_app/public/javascripts/tartarus.jquery.js +8 -0
  73. data/spec/rails_app/public/robots.txt +5 -0
  74. data/spec/rails_app/public/stylesheets/.gitkeep +0 -0
  75. data/spec/rails_app/public/stylesheets/tartarus.css +26 -0
  76. data/spec/rails_app/script/rails +6 -0
  77. data/spec/rails_app/spec/controllers/logged_exceptions_controller_spec.rb +83 -0
  78. data/spec/rails_app/spec/models/logged_exception_spec.rb +7 -0
  79. data/spec/rails_app/spec/spec_helper.rb +27 -0
  80. data/spec/rails_app/vendor/plugins/.gitkeep +0 -0
  81. data/spec/spec_helper.rb +14 -7
  82. data/spec/tartarus/logger_spec.rb +51 -23
  83. data/spec/tartarus_spec.rb +5 -8
  84. data/tartarus.gemspec +11 -103
  85. metadata +148 -94
  86. data/VERSION +0 -1
  87. data/generators/tartarus/tartarus_generator.rb +0 -50
  88. data/lib/tartarus/notifier.rb +0 -11
  89. data/lib/tartarus/rescue.rb +0 -39
  90. data/rails/init.rb +0 -3
  91. data/spec/rails/app/controllers/application_controller.rb +0 -10
  92. data/spec/rails/config/boot.rb +0 -110
  93. data/spec/rails/config/database.yml +0 -5
  94. data/spec/rails/config/environment.rb +0 -41
  95. data/spec/rails/config/environments/development.rb +0 -17
  96. data/spec/rails/config/environments/production.rb +0 -28
  97. data/spec/rails/config/environments/test.rb +0 -28
  98. data/spec/rails/config/exceptions.yml +0 -9
  99. data/spec/rails/config/initializers/new_rails_defaults.rb +0 -21
  100. data/spec/rails/config/initializers/session_store.rb +0 -15
  101. data/spec/rails/config/routes.rb +0 -43
  102. data/spec/rails/db/test.sqlite3 +0 -0
  103. data/spec/rcov.opts +0 -3
  104. data/spec/spec.opts +0 -4
  105. data/spec/tartarus/rescue_spec.rb +0 -86
  106. data/views/tartarus_notifier/notification.html.erb +0 -9
Binary file
data/spec/rcov.opts DELETED
@@ -1,3 +0,0 @@
1
- --exclude "spec/*,gems/*,/usr/*,/Library/*,/var/*"
2
- --rails
3
- --text-report
data/spec/spec.opts DELETED
@@ -1,4 +0,0 @@
1
- --colour
2
- --format progress
3
- --loadby mtime
4
- --reverse
@@ -1,86 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- class TartarusRescueTestController < ApplicationController
4
- end
5
-
6
- describe Tartarus::Rescue do
7
- before(:each) do
8
- @controller = TartarusRescueTestController.new
9
- end
10
-
11
- describe 'when mixed into another class' do
12
- it 'should alias_method_chain rescue_action method with tartarus' do
13
- @controller.should respond_to(:rescue_action_with_tartarus)
14
- @controller.should respond_to(:rescue_action_without_tartarus)
15
- end
16
- end
17
-
18
- describe 'when normalizing request data for tartarus' do
19
- before( :each ) do
20
- @controller.stub( :request ).and_return( fake_controller_request )
21
- end
22
-
23
- it 'should have the session hash' do
24
- params = @controller.normalize_request_data_for_tartarus
25
- params[:session].should_not be_blank
26
- params[:session].should be_an_instance_of(Hash)
27
- params[:session].should == { :cookie => {}, :variables => { :id=>"123123" } }
28
- end
29
-
30
- it 'should have a enviroment hash that contains a hash of only the uppercase keys of the original controller request hash' do
31
- params = @controller.normalize_request_data_for_tartarus
32
- params[:enviroment].should_not be_blank
33
- params[:enviroment].should == { "http_host" => "test_host", "loooooooong_key_two" => "key_two_value", "key_one" => "key_one_value", :server => `hostname -s`.chomp, :process => $$ }
34
- end
35
-
36
- it 'should have a http details hash' do
37
- params = @controller.normalize_request_data_for_tartarus
38
- params[:http_details].should_not be_blank
39
- params[:http_details].should == { :parameters => "params", :format => "html", :method => "POST", :url => "http://test_host/my/uri" }
40
- end
41
-
42
- it "should return a hash of request data" do
43
- params = @controller.normalize_request_data_for_tartarus
44
- params.should be_an_instance_of(Hash)
45
- end
46
- end
47
-
48
- describe "#rescue_action_with_tartarus" do
49
- before(:each) do
50
- @exception = StandardError.new
51
- @controller.stub!(:rescue_action_without_tartarus)
52
- @controller.stub!(:response_code_for_rescue).and_return(:internal_server_error)
53
- Tartarus.stub!(:logging_enabled?).and_return(true)
54
- Tartarus.stub!(:log)
55
- end
56
-
57
- it 'should log the exception with tartarus if the exception code should be an internal server error' do
58
- Tartarus.should_receive(:log).with(@controller, @exception)
59
- @controller.should_receive(:response_code_for_rescue).and_return(:internal_server_error)
60
- @controller.rescue_action_with_tartarus(@exception)
61
- end
62
-
63
- it 'should not log the exception with tartarus if the exception code is not an internal server error' do
64
- @controller.should_receive(:response_code_for_rescue).and_return(:not_found)
65
- @controller.rescue_action_with_tartarus(@exception)
66
- end
67
-
68
- it 'should log the exception with tartarus if exception logging is enabled' do
69
- Tartarus.should_receive(:logging_enabled?).and_return(true)
70
- @controller.rescue_action_with_tartarus(@exception)
71
- end
72
-
73
- it 'should not log the exception with tartarus if exception logging is disabled' do
74
- Tartarus.should_receive(:logging_enabled?).and_return(false)
75
- Tartarus.should_receive(:log).never
76
-
77
- @controller.rescue_action_with_tartarus(@exception)
78
- end
79
-
80
- it 'should invoke rescue_action_without_tartarus' do
81
- @controller.should_receive(:rescue_action_without_tartarus)
82
- @controller.rescue_action_with_tartarus(@exception)
83
- end
84
- end
85
- end
86
-
@@ -1,9 +0,0 @@
1
- A new exception was raised (<%= @exception.created_at.strftime("%m/%d/%Y %I:%M%p") %>):
2
-
3
- Class : <%= @exception.exception_class %>
4
- Location : <%= @exception.controller_path %>#<%= @exception.action_name %>
5
- Message : <%= @exception.message %>
6
- Count : <%= @exception.group_count %>
7
-
8
- Backtrace:
9
- <%= @exception.backtrace %>