exceptional 2.0.6 → 2.0.7
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.
- data/exceptional.gemspec +1 -1
 - data/lib/exceptional.rb +1 -1
 - data/lib/exceptional/controller_exception_data.rb +2 -2
 - data/lib/exceptional/exception_data.rb +1 -1
 - data/spec/exceptional/exception_data_spec.rb +18 -13
 - data/spec/fixtures/favicon.png +0 -0
 - data/spec/rails_integration_spec.rb +1 -1
 - metadata +3 -2
 
    
        data/exceptional.gemspec
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # -*- encoding: utf-8 -*-
         
     | 
| 
       2 
2 
     | 
    
         
             
            Gem::Specification.new do |s|
         
     | 
| 
       3 
3 
     | 
    
         
             
              s.name = %q{exceptional}
         
     | 
| 
       4 
     | 
    
         
            -
              s.version = "2.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              s.version = "2.0.7"
         
     | 
| 
       5 
5 
     | 
    
         
             
              s.authors = ["Contrast"]
         
     | 
| 
       6 
6 
     | 
    
         
             
              s.summary = %q{ getexceptional.com is a hosted service for tracking errors in your Ruby/Rails/Rack apps }
         
     | 
| 
       7 
7 
     | 
    
         
             
              s.description = %q{Exceptional is the Ruby gem for communicating with http://getexceptional.com (hosted error tracking service). Use it to find out about errors that happen in your live app. It captures lots of helpful information to help you fix the errors.}
         
     | 
    
        data/lib/exceptional.rb
    CHANGED
    
    
| 
         @@ -23,7 +23,7 @@ module Exceptional 
     | 
|
| 
       23 
23 
     | 
    
         
             
                      'request_method' => @request.request_method.to_s,
         
     | 
| 
       24 
24 
     | 
    
         
             
                      'remote_ip' => @request.remote_ip,
         
     | 
| 
       25 
25 
     | 
    
         
             
                      'headers' => extract_http_headers(@request.env),
         
     | 
| 
       26 
     | 
    
         
            -
                      'session' =>  
     | 
| 
      
 26 
     | 
    
         
            +
                      'session' => self.class.sanitize_session(@request)
         
     | 
| 
       27 
27 
     | 
    
         
             
                    }
         
     | 
| 
       28 
28 
     | 
    
         
             
                  }
         
     | 
| 
       29 
29 
     | 
    
         
             
                end
         
     | 
| 
         @@ -56,7 +56,7 @@ module Exceptional 
     | 
|
| 
       56 
56 
     | 
    
         
             
                  session_hash['data'] = session.respond_to?(:to_hash) ? session.to_hash : session.instance_variable_get("@data") || {}
         
     | 
| 
       57 
57 
     | 
    
         
             
                  session_hash['session_id'] ||= session_hash['data'][:session_id]
         
     | 
| 
       58 
58 
     | 
    
         
             
                  session_hash['data'].delete(:session_id)
         
     | 
| 
       59 
     | 
    
         
            -
                   
     | 
| 
      
 59 
     | 
    
         
            +
                  sanitize_hash(session_hash)
         
     | 
| 
       60 
60 
     | 
    
         
             
                rescue
         
     | 
| 
       61 
61 
     | 
    
         
             
                  {}
         
     | 
| 
       62 
62 
     | 
    
         
             
                end
         
     | 
| 
         @@ -79,8 +79,8 @@ describe Exceptional::ControllerExceptionData, 'with request/controller/params' 
     | 
|
| 
       79 
79 
     | 
    
         
             
                @request.stub!(:request_method).and_return(:get)
         
     | 
| 
       80 
80 
     | 
    
         
             
                @request.stub!(:remote_ip).and_return('1.2.3.4')
         
     | 
| 
       81 
81 
     | 
    
         
             
                @request.stub!(:env).and_return({'SOME_VAR' => 'abc', 'HTTP_CONTENT_TYPE' => 'text/html'})
         
     | 
| 
       82 
     | 
    
         
            -
                error = Exceptional::FunkyError.new('some message')
         
     | 
| 
       83 
     | 
    
         
            -
                data = Exceptional::ControllerExceptionData.new(error, @controller, @request)
         
     | 
| 
      
 82 
     | 
    
         
            +
                @error = Exceptional::FunkyError.new('some message')
         
     | 
| 
      
 83 
     | 
    
         
            +
                data = Exceptional::ControllerExceptionData.new(@error, @controller, @request)
         
     | 
| 
       84 
84 
     | 
    
         
             
                @hash = data.to_hash
         
     | 
| 
       85 
85 
     | 
    
         
             
              end
         
     | 
| 
       86 
86 
     | 
    
         | 
| 
         @@ -106,6 +106,13 @@ describe Exceptional::ControllerExceptionData, 'with request/controller/params' 
     | 
|
| 
       106 
106 
     | 
    
         
             
                Exceptional::ControllerExceptionData.sanitize_hash(input).should == {'crazy' => crazy.to_s, :simple => '123', :some_hash => {'1' => '2'}, :array => ['1', '2']}
         
     | 
| 
       107 
107 
     | 
    
         
             
              end
         
     | 
| 
       108 
108 
     | 
    
         | 
| 
      
 109 
     | 
    
         
            +
              it "ArgumentError bug with file object" do
         
     | 
| 
      
 110 
     | 
    
         
            +
                file = File.new(File.expand_path('../../fixtures/favicon.png',__FILE__))
         
     | 
| 
      
 111 
     | 
    
         
            +
                @request.stub!(:parameters).and_return({'something' => file })
         
     | 
| 
      
 112 
     | 
    
         
            +
                data = Exceptional::ControllerExceptionData.new(@error, @controller, @request)
         
     | 
| 
      
 113 
     | 
    
         
            +
                data.to_hash['request']['parameters']['something'].should == file.to_s
         
     | 
| 
      
 114 
     | 
    
         
            +
              end
         
     | 
| 
      
 115 
     | 
    
         
            +
             
     | 
| 
       109 
116 
     | 
    
         
             
              it "to_strings regex because JSON.parse(/aa/.to_json) doesn't work" do
         
     | 
| 
       110 
117 
     | 
    
         
             
                input = {'crazy' => /abc.*/}
         
     | 
| 
       111 
118 
     | 
    
         
             
                Exceptional::ExceptionData.sanitize_hash(input).should == {'crazy' => /abc.*/.to_s}
         
     | 
| 
         @@ -141,25 +148,23 @@ describe Exceptional::ControllerExceptionData, 'with request/controller/params' 
     | 
|
| 
       141 
148 
     | 
    
         
             
              end
         
     | 
| 
       142 
149 
     | 
    
         | 
| 
       143 
150 
     | 
    
         
             
              it "creates a uniqueness_hash from backtrace" do
         
     | 
| 
       144 
     | 
    
         
            -
                 
     | 
| 
       145 
     | 
    
         
            -
                 
     | 
| 
       146 
     | 
    
         
            -
                data = Exceptional::ControllerExceptionData.new( 
     | 
| 
      
 151 
     | 
    
         
            +
                exception = Exception.new
         
     | 
| 
      
 152 
     | 
    
         
            +
                exception.stub!(:backtrace).and_return(['123'])
         
     | 
| 
      
 153 
     | 
    
         
            +
                data = Exceptional::ControllerExceptionData.new(exception)
         
     | 
| 
       147 
154 
     | 
    
         
             
                data.uniqueness_hash.should == Digest::MD5.hexdigest('123')
         
     | 
| 
       148 
155 
     | 
    
         
             
              end
         
     | 
| 
       149 
156 
     | 
    
         | 
| 
       150 
157 
     | 
    
         
             
              it "creates a nil uniqueness_hash if nil backtrace" do
         
     | 
| 
       151 
     | 
    
         
            -
                 
     | 
| 
       152 
     | 
    
         
            -
                 
     | 
| 
       153 
     | 
    
         
            -
                data = Exceptional::ControllerExceptionData.new( 
     | 
| 
      
 158 
     | 
    
         
            +
                exception = Exception.new
         
     | 
| 
      
 159 
     | 
    
         
            +
                exception.stub!(:backtrace).and_return(nil)
         
     | 
| 
      
 160 
     | 
    
         
            +
                data = Exceptional::ControllerExceptionData.new(exception)
         
     | 
| 
       154 
161 
     | 
    
         
             
                data.uniqueness_hash.should == nil
         
     | 
| 
       155 
162 
     | 
    
         
             
              end
         
     | 
| 
       156 
163 
     | 
    
         | 
| 
       157 
164 
     | 
    
         
             
              it "creates a uniqueness_hash from backtrace" do
         
     | 
| 
       158 
     | 
    
         
            -
                 
     | 
| 
       159 
     | 
    
         
            -
                 
     | 
| 
       160 
     | 
    
         
            -
                data = Exceptional::ControllerExceptionData.new( 
     | 
| 
      
 165 
     | 
    
         
            +
                exception = Exception.new
         
     | 
| 
      
 166 
     | 
    
         
            +
                exception.stub!(:backtrace).and_return([])
         
     | 
| 
      
 167 
     | 
    
         
            +
                data = Exceptional::ControllerExceptionData.new(exception)
         
     | 
| 
       161 
168 
     | 
    
         
             
                data.uniqueness_hash.should == nil
         
     | 
| 
       162 
169 
     | 
    
         
             
              end
         
     | 
| 
       163 
     | 
    
         
            -
              
         
     | 
| 
       164 
     | 
    
         
            -
              
         
     | 
| 
       165 
170 
     | 
    
         
             
            end
         
     | 
| 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: exceptional
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.0.7
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Contrast
         
     | 
| 
         @@ -9,7 +9,7 @@ autorequire: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2010-01- 
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2010-01-27 00:00:00 +00:00
         
     | 
| 
       13 
13 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
14 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
         @@ -45,6 +45,7 @@ files: 
     | 
|
| 
       45 
45 
     | 
    
         
             
            - spec/exceptional_rescue_spec.rb
         
     | 
| 
       46 
46 
     | 
    
         
             
            - spec/fixtures/exceptional.yml
         
     | 
| 
       47 
47 
     | 
    
         
             
            - spec/fixtures/exceptional_old.yml
         
     | 
| 
      
 48 
     | 
    
         
            +
            - spec/fixtures/favicon.png
         
     | 
| 
       48 
49 
     | 
    
         
             
            - spec/ginger_scenarios.rb
         
     | 
| 
       49 
50 
     | 
    
         
             
            - spec/rack_integration_spec.rb
         
     | 
| 
       50 
51 
     | 
    
         
             
            - spec/rails_integration_spec.rb
         
     |