tartarus 1.0.3 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 %>