yogi_berra 0.0.15 → 0.1.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.
- checksums.yaml +15 -0
- data/README.md +1 -1
- data/lib/yogi_berra/catcher.rb +33 -32
- data/lib/yogi_berra/exception_middleware.rb +2 -2
- data/lib/yogi_berra/rails.rb +1 -1
- data/lib/yogi_berra/version.rb +1 -1
- data/spec/fixtures/test.yml +1 -1
- data/spec/spec_helper.rb +22 -19
- data/spec/yogi_berra_catcher_spec.rb +15 -21
- data/spec/yogi_berra_data_spec.rb +3 -2
- data/spec/yogi_berra_exception_middleware_spec.rb +6 -3
- metadata +80 -110
    
        checksums.yaml
    ADDED
    
    | @@ -0,0 +1,15 @@ | |
| 1 | 
            +
            ---
         | 
| 2 | 
            +
            !binary "U0hBMQ==":
         | 
| 3 | 
            +
              metadata.gz: !binary |-
         | 
| 4 | 
            +
                MmQ2Y2I5NjhiYTY0Yzk3MzEyMTYwNDQ5MzRmNTMyOTg4MTgxYmM1Nw==
         | 
| 5 | 
            +
              data.tar.gz: !binary |-
         | 
| 6 | 
            +
                M2Y0NTBjZmYwMmE3ZWVjZDc1MDA1YmFkMWUyYTdmOTBlYTE5M2QyNw==
         | 
| 7 | 
            +
            SHA512:
         | 
| 8 | 
            +
              metadata.gz: !binary |-
         | 
| 9 | 
            +
                MTg0ZGJjOWJlODgwYTZmMzgyNDZiYTdiMjIzMzUyYzNjNzY1NDIwZTBkODRj
         | 
| 10 | 
            +
                MWIyODU1MWNhNWIwNzAwY2JlMjMwM2QzOGYzNDEyYjdmZWNmZjhiNTFmNGFh
         | 
| 11 | 
            +
                NWY2MWE0OTIwMmVjYzU0NDI4OTg0ZDZkN2I4MjdiZDQzOTNiYjY=
         | 
| 12 | 
            +
              data.tar.gz: !binary |-
         | 
| 13 | 
            +
                MmUyN2Q5ZjNlMjEyMDIyMmU0NjY1OTEwOGFjYWIwY2ViMGQzNTU1ZDlmMDky
         | 
| 14 | 
            +
                YTJiYjE1M2ZhMzk4ZGIxZGJjNWE0MTdmMWM1YTIwYjAwMTJjNmViMzcyMDk1
         | 
| 15 | 
            +
                MGEzZWFlM2Q1OWM1MGVkMzIwNTlhZTVkZTZjODllNzdjODZlNTA=
         | 
    
        data/README.md
    CHANGED
    
    
    
        data/lib/yogi_berra/catcher.rb
    CHANGED
    
    | @@ -42,46 +42,47 @@ module YogiBerra | |
| 42 42 | 
             
                    end
         | 
| 43 43 | 
             
                  end
         | 
| 44 44 |  | 
| 45 | 
            -
                  def  | 
| 45 | 
            +
                  def fork_database
         | 
| 46 | 
            +
                    host = @@settings["host"]
         | 
| 47 | 
            +
                    port = @@settings["port"]
         | 
| 48 | 
            +
                    database = @@settings["database"]
         | 
| 49 | 
            +
                    username = @@settings["username"]
         | 
| 50 | 
            +
                    password = @@settings["password"]
         | 
| 51 | 
            +
                    replica_set = @@settings["replica_set"]
         | 
| 52 | 
            +
             | 
| 46 53 | 
             
                    # :w => 0 set the default write concern to 0, this allows writes to be non-blocking
         | 
| 47 54 | 
             
                    # by not waiting for a response from mongodb
         | 
| 48 | 
            -
                     | 
| 49 | 
            -
             | 
| 50 | 
            -
             | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 55 | 
            +
                    Thread.new do
         | 
| 56 | 
            +
                      begin
         | 
| 57 | 
            +
                        if replica_set
         | 
| 58 | 
            +
                          @@mongo_client = Mongo::MongoReplicaSetClient.new(replica_set, :w => 0, :connect_timeout => 10)
         | 
| 59 | 
            +
                        else
         | 
| 60 | 
            +
                          @@mongo_client = Mongo::MongoClient.new(host, port, :w => 0, :connect_timeout => 10)
         | 
| 61 | 
            +
                        end
         | 
| 62 | 
            +
                      rescue Timeout::Error => timeout_error
         | 
| 63 | 
            +
                        YogiBerra::Logger.log("Couldn't connect to the mongo database timeout on host: #{host} port: #{port}.\n #{timeout_error.inspect}", :error)
         | 
| 64 | 
            +
                        retry
         | 
| 65 | 
            +
                      rescue => error
         | 
| 66 | 
            +
                        YogiBerra::Logger.log("Couldn't connect to the mongo database on host: #{host} port: #{port}.\n #{error.inspect}", :error)
         | 
| 67 | 
            +
                        retry
         | 
| 68 | 
            +
                      end
         | 
| 69 | 
            +
             | 
| 70 | 
            +
                      @@connection = @@mongo_client[database]
         | 
| 71 | 
            +
                      if username && password
         | 
| 72 | 
            +
                        begin
         | 
| 73 | 
            +
                          @@connection.authenticate(username, password)
         | 
| 74 | 
            +
                        rescue
         | 
| 75 | 
            +
                          YogiBerra::Logger.log("Couldn't authenticate with user #{username} to mongo database on host: #{host} port: #{port} database: #{database}.", :warn)
         | 
| 76 | 
            +
                        end
         | 
| 77 | 
            +
                      end
         | 
| 53 78 | 
             
                    end
         | 
| 54 | 
            -
                  rescue Timeout::Error => error
         | 
| 55 | 
            -
                    YogiBerra::Logger.log("Couldn't connect to the mongo database timeout on host: #{host} port: #{port}.\n #{error}", :error)
         | 
| 56 | 
            -
                    nil
         | 
| 57 | 
            -
                  rescue => error
         | 
| 58 | 
            -
                    YogiBerra::Logger.log("Couldn't connect to the mongo database on host: #{host} port: #{port}.", :error)
         | 
| 59 | 
            -
                    nil
         | 
| 60 79 | 
             
                  end
         | 
| 61 80 |  | 
| 62 | 
            -
                  def  | 
| 81 | 
            +
                  def connect(load_settings = false)
         | 
| 63 82 | 
             
                    load_db_settings if load_settings
         | 
| 64 83 |  | 
| 65 84 | 
             
                    if @@settings
         | 
| 66 | 
            -
                       | 
| 67 | 
            -
                      port = @@settings["port"]
         | 
| 68 | 
            -
                      database = @@settings["database"]
         | 
| 69 | 
            -
                      username = @@settings["username"]
         | 
| 70 | 
            -
                      password = @@settings["password"]
         | 
| 71 | 
            -
                      replica_set = @@settings["replica_set"]
         | 
| 72 | 
            -
                      client = db_client(host, port, replica_set)
         | 
| 73 | 
            -
                      if client
         | 
| 74 | 
            -
                        @@connection = client[database]
         | 
| 75 | 
            -
                        if @@connection && username && password
         | 
| 76 | 
            -
                          begin
         | 
| 77 | 
            -
                            @@connection.authenticate(username, password)
         | 
| 78 | 
            -
                          rescue
         | 
| 79 | 
            -
                            YogiBerra::Logger.log("Couldn't authenticate with user #{username} to mongo database on host: #{host} port: #{port} database: #{database}.", :warn)
         | 
| 80 | 
            -
                          end
         | 
| 81 | 
            -
                        end
         | 
| 82 | 
            -
                      else
         | 
| 83 | 
            -
                        YogiBerra::Logger.log("Couldn't connect to the mongo database on host: #{host} port: #{port}.", :error)
         | 
| 84 | 
            -
                      end
         | 
| 85 | 
            +
                      fork_database
         | 
| 85 86 | 
             
                    else
         | 
| 86 87 | 
             
                      YogiBerra::Logger.log("Couldn't load the yogi.yml file.", :error) if load_settings
         | 
| 87 88 | 
             
                    end
         | 
| @@ -2,14 +2,13 @@ module YogiBerra | |
| 2 2 | 
             
              class ExceptionMiddleware
         | 
| 3 3 | 
             
                def initialize(app)
         | 
| 4 4 | 
             
                  @app = app
         | 
| 5 | 
            -
                  YogiBerra::Catcher. | 
| 5 | 
            +
                  YogiBerra::Catcher.connect(true)
         | 
| 6 6 | 
             
                end
         | 
| 7 7 |  | 
| 8 8 | 
             
                def call(env)
         | 
| 9 9 | 
             
                  begin
         | 
| 10 10 | 
             
                    path_parameters = env['action_controller.request.path_parameters'] || {}
         | 
| 11 11 | 
             
                    query_hash      = env['rack.request.query_hash'] || {}
         | 
| 12 | 
            -
                    response = dup._call(env)
         | 
| 13 12 | 
             
                    environment = {
         | 
| 14 13 | 
             
                      :session => env['rack.session'],
         | 
| 15 14 | 
             
                      :params => path_parameters.merge(query_hash),
         | 
| @@ -19,6 +18,7 @@ module YogiBerra | |
| 19 18 | 
             
                      :server_address => env['SERVER_ADDR'],
         | 
| 20 19 | 
             
                      :remote_address => env['REMOTE_ADDR']
         | 
| 21 20 | 
             
                    }
         | 
| 21 | 
            +
                    response = dup._call(env)
         | 
| 22 22 | 
             
                  rescue Exception => raised
         | 
| 23 23 | 
             
                    YogiBerra.exceptionize(raised, environment)
         | 
| 24 24 | 
             
                    raise raised
         | 
    
        data/lib/yogi_berra/rails.rb
    CHANGED
    
    
    
        data/lib/yogi_berra/version.rb
    CHANGED
    
    
    
        data/spec/fixtures/test.yml
    CHANGED
    
    
    
        data/spec/spec_helper.rb
    CHANGED
    
    | @@ -2,8 +2,6 @@ SPEC_FOLDER = File.dirname(__FILE__) | |
| 2 2 | 
             
            require 'yogi_berra'
         | 
| 3 3 | 
             
            require 'rspec/mocks'
         | 
| 4 4 |  | 
| 5 | 
            -
            # Helper methods
         | 
| 6 | 
            -
            # Creates RunTimeError
         | 
| 7 5 | 
             
            def build_exception
         | 
| 8 6 | 
             
              raise Exception
         | 
| 9 7 | 
             
            rescue Exception => caught_exception
         | 
| @@ -20,25 +18,30 @@ def build_session | |
| 20 18 | 
             
              }
         | 
| 21 19 | 
             
            end
         | 
| 22 20 |  | 
| 23 | 
            -
            def  | 
| 24 | 
            -
               | 
| 25 | 
            -
             | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
                mongo_connection = double('mongo connection')
         | 
| 21 | 
            +
            def mock_mongo(opts)
         | 
| 22 | 
            +
              mongo_client = double('mongo client')
         | 
| 23 | 
            +
              mongo_connection = double('mongo connection')
         | 
| 24 | 
            +
             | 
| 25 | 
            +
              if opts[:mongo_client_stub]
         | 
| 29 26 | 
             
                Mongo::MongoClient.should_receive(:new) { mongo_client }
         | 
| 30 | 
            -
                mongo_client.should_receive(:[]) { mongo_connection } | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
                if opts[:connection_should]
         | 
| 38 | 
            -
                  mongo_connection.should_receive(:[]) { mongo_connection }
         | 
| 39 | 
            -
                  mongo_connection.should_receive(:insert)
         | 
| 40 | 
            -
                end
         | 
| 27 | 
            +
                mongo_client.should_receive(:[]) { mongo_connection }
         | 
| 28 | 
            +
              end
         | 
| 29 | 
            +
             | 
| 30 | 
            +
              if opts[:authenticate_stub] == :error
         | 
| 31 | 
            +
                mongo_connection.should_receive(:authenticate).and_raise
         | 
| 32 | 
            +
              else
         | 
| 33 | 
            +
                mongo_connection.should_receive(:authenticate)
         | 
| 41 34 | 
             
              end
         | 
| 35 | 
            +
             | 
| 36 | 
            +
              if opts[:connection_stub]
         | 
| 37 | 
            +
                mongo_connection.should_receive(:[]) { mongo_connection }
         | 
| 38 | 
            +
                mongo_connection.should_receive(:insert)
         | 
| 39 | 
            +
              end
         | 
| 40 | 
            +
            end
         | 
| 41 | 
            +
             | 
| 42 | 
            +
            def mock_yogi_fork_database
         | 
| 43 | 
            +
              client = YogiBerra::Catcher.fork_database.join
         | 
| 44 | 
            +
              YogiBerra::Catcher.should_receive(:fork_database) { client }
         | 
| 42 45 | 
             
            end
         | 
| 43 46 |  | 
| 44 47 | 
             
            def reset_if_rails
         | 
| @@ -24,39 +24,33 @@ describe YogiBerra::Catcher do | |
| 24 24 | 
             
                Object.send(:remove_const, :Rails)
         | 
| 25 25 | 
             
              end
         | 
| 26 26 |  | 
| 27 | 
            -
              it "should grab a connection using the settings file" do
         | 
| 28 | 
            -
                 | 
| 29 | 
            -
                connection = nil
         | 
| 27 | 
            +
              it "should try to grab a connection using the settings file" do
         | 
| 28 | 
            +
                mock_mongo(:mongo_client_stub => true)
         | 
| 30 29 | 
             
                YogiBerra::Catcher.load_db_settings(@test_yaml)
         | 
| 31 | 
            -
                 | 
| 32 | 
            -
                 | 
| 30 | 
            +
                mock_yogi_fork_database
         | 
| 31 | 
            +
                lambda { YogiBerra::Catcher.connect }.should_not raise_error
         | 
| 32 | 
            +
                YogiBerra::Catcher.connection.should_not == nil
         | 
| 33 33 | 
             
              end
         | 
| 34 34 |  | 
| 35 35 | 
             
              it "should grab a connection to mongodb" do
         | 
| 36 | 
            -
                 | 
| 36 | 
            +
                mock_mongo(:mongo_client_stub => true)
         | 
| 37 37 | 
             
                YogiBerra::Catcher.load_db_settings(@test_yaml)
         | 
| 38 | 
            -
                 | 
| 39 | 
            -
                 | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
              it "should grab a connection and fail to connect after 5 seconds" do
         | 
| 43 | 
            -
                mock_mongo_client(:timeout => true)
         | 
| 44 | 
            -
                YogiBerra::Catcher.load_db_settings(@test_yaml)
         | 
| 45 | 
            -
                client = YogiBerra::Catcher.db_client(YogiBerra::Catcher.settings["host"], YogiBerra::Catcher.settings["port"])
         | 
| 46 | 
            -
                client.should == nil
         | 
| 38 | 
            +
                mock_yogi_fork_database
         | 
| 39 | 
            +
                YogiBerra::Catcher.connect
         | 
| 40 | 
            +
                YogiBerra::Catcher.mongo_client.should_not == nil
         | 
| 47 41 | 
             
              end
         | 
| 48 42 |  | 
| 49 43 | 
             
              it "should grab a connection and authenticate" do
         | 
| 50 | 
            -
                 | 
| 44 | 
            +
                mock_mongo(:mongo_client_stub => true)
         | 
| 51 45 | 
             
                YogiBerra::Catcher.load_db_settings(@test_yaml)
         | 
| 52 | 
            -
                 | 
| 53 | 
            -
                 | 
| 46 | 
            +
                mock_yogi_fork_database
         | 
| 47 | 
            +
                lambda { YogiBerra::Catcher.connect }.should_not raise_error
         | 
| 54 48 | 
             
              end
         | 
| 55 49 |  | 
| 56 50 | 
             
              it "should grab a connection and fail to authenticate" do
         | 
| 57 | 
            -
                 | 
| 51 | 
            +
                mock_mongo(:mongo_client_stub => true, :authenticate_stub => :error)
         | 
| 58 52 | 
             
                YogiBerra::Catcher.load_db_settings(@test_yaml)
         | 
| 59 | 
            -
                 | 
| 60 | 
            -
                 | 
| 53 | 
            +
                mock_yogi_fork_database
         | 
| 54 | 
            +
                lambda { YogiBerra::Catcher.connect }.should_not raise_error
         | 
| 61 55 | 
             
              end
         | 
| 62 56 | 
             
            end
         | 
| @@ -8,8 +8,9 @@ describe YogiBerra::Data do | |
| 8 8 |  | 
| 9 9 | 
             
              it "should store an exception" do
         | 
| 10 10 | 
             
                exception = build_exception
         | 
| 11 | 
            -
                 | 
| 12 | 
            -
                 | 
| 11 | 
            +
                mock_mongo(:mongo_client_stub => true, :connection_stub => true)
         | 
| 12 | 
            +
                mock_yogi_fork_database
         | 
| 13 | 
            +
                YogiBerra::Catcher.connect
         | 
| 13 14 | 
             
                YogiBerra::Data.store!(exception)
         | 
| 14 15 | 
             
              end
         | 
| 15 16 |  | 
| @@ -7,7 +7,8 @@ describe YogiBerra::ExceptionMiddleware do | |
| 7 7 | 
             
              end
         | 
| 8 8 |  | 
| 9 9 | 
             
              it "should call the upstream app with the environment" do
         | 
| 10 | 
            -
                 | 
| 10 | 
            +
                mock_mongo(:mongo_client_stub => true)
         | 
| 11 | 
            +
                mock_yogi_fork_database
         | 
| 11 12 | 
             
                environment = { 'key' => 'value' }
         | 
| 12 13 | 
             
                app = lambda { |env| ['response', {}, env] }
         | 
| 13 14 | 
             
                stack = YogiBerra::ExceptionMiddleware.new(app)
         | 
| @@ -20,7 +21,8 @@ describe YogiBerra::ExceptionMiddleware do | |
| 20 21 | 
             
              end
         | 
| 21 22 |  | 
| 22 23 | 
             
              it "deliver an exception raised while calling an upstream app" do
         | 
| 23 | 
            -
                 | 
| 24 | 
            +
                mock_mongo(:mongo_client_stub => true, :connection_stub => true)
         | 
| 25 | 
            +
                mock_yogi_fork_database
         | 
| 24 26 | 
             
                exception = build_exception
         | 
| 25 27 | 
             
                environment = { 'key' => 'value' }
         | 
| 26 28 | 
             
                app = lambda do |env|
         | 
| @@ -36,7 +38,8 @@ describe YogiBerra::ExceptionMiddleware do | |
| 36 38 | 
             
              end
         | 
| 37 39 |  | 
| 38 40 | 
             
              it "should deliver an exception in rack.exception" do
         | 
| 39 | 
            -
                 | 
| 41 | 
            +
                mock_mongo(:mongo_client_stub => true, :connection_stub => true)
         | 
| 42 | 
            +
                mock_yogi_fork_database
         | 
| 40 43 | 
             
                exception = build_exception
         | 
| 41 44 | 
             
                environment = { 'key' => 'value' }
         | 
| 42 45 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,112 +1,92 @@ | |
| 1 | 
            -
            --- !ruby/object:Gem::Specification | 
| 1 | 
            +
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: yogi_berra
         | 
| 3 | 
            -
            version: !ruby/object:Gem::Version | 
| 4 | 
            -
               | 
| 5 | 
            -
              prerelease: false
         | 
| 6 | 
            -
              segments: 
         | 
| 7 | 
            -
              - 0
         | 
| 8 | 
            -
              - 0
         | 
| 9 | 
            -
              - 15
         | 
| 10 | 
            -
              version: 0.0.15
         | 
| 3 | 
            +
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            +
              version: 0.1.0
         | 
| 11 5 | 
             
            platform: ruby
         | 
| 12 | 
            -
            authors: | 
| 6 | 
            +
            authors:
         | 
| 13 7 | 
             
            - Kevin Earl Krauss
         | 
| 14 8 | 
             
            autorequire: 
         | 
| 15 9 | 
             
            bindir: bin
         | 
| 16 10 | 
             
            cert_chain: []
         | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
             | 
| 20 | 
            -
            dependencies: 
         | 
| 21 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 11 | 
            +
            date: 2013-12-11 00:00:00.000000000 Z
         | 
| 12 | 
            +
            dependencies:
         | 
| 13 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 22 14 | 
             
              name: rake
         | 
| 23 | 
            -
               | 
| 24 | 
            -
             | 
| 25 | 
            -
                 | 
| 26 | 
            -
             | 
| 27 | 
            -
                - - "="
         | 
| 28 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 29 | 
            -
                    hash: 71
         | 
| 30 | 
            -
                    segments: 
         | 
| 31 | 
            -
                    - 10
         | 
| 32 | 
            -
                    - 0
         | 
| 33 | 
            -
                    - 4
         | 
| 15 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            +
                requirements:
         | 
| 17 | 
            +
                - - '='
         | 
| 18 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 34 19 | 
             
                    version: 10.0.4
         | 
| 35 20 | 
             
              type: :development
         | 
| 36 | 
            -
              version_requirements: *id001
         | 
| 37 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 38 | 
            -
              name: rspec
         | 
| 39 21 | 
             
              prerelease: false
         | 
| 40 | 
            -
               | 
| 41 | 
            -
                 | 
| 42 | 
            -
                 | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 22 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            +
                requirements:
         | 
| 24 | 
            +
                - - '='
         | 
| 25 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            +
                    version: 10.0.4
         | 
| 27 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 28 | 
            +
              name: rspec
         | 
| 29 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 30 | 
            +
                requirements:
         | 
| 31 | 
            +
                - - '='
         | 
| 32 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 50 33 | 
             
                    version: 2.13.0
         | 
| 51 34 | 
             
              type: :development
         | 
| 52 | 
            -
              version_requirements: *id002
         | 
| 53 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 54 | 
            -
              name: bson
         | 
| 55 35 | 
             
              prerelease: false
         | 
| 56 | 
            -
               | 
| 57 | 
            -
                 | 
| 58 | 
            -
                 | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 36 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 37 | 
            +
                requirements:
         | 
| 38 | 
            +
                - - '='
         | 
| 39 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 40 | 
            +
                    version: 2.13.0
         | 
| 41 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 42 | 
            +
              name: bson
         | 
| 43 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 44 | 
            +
                requirements:
         | 
| 45 | 
            +
                - - '='
         | 
| 46 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 66 47 | 
             
                    version: 1.8.3
         | 
| 67 48 | 
             
              type: :runtime
         | 
| 68 | 
            -
              version_requirements: *id003
         | 
| 69 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 70 | 
            -
              name: bson_ext
         | 
| 71 49 | 
             
              prerelease: false
         | 
| 72 | 
            -
               | 
| 73 | 
            -
                 | 
| 74 | 
            -
                 | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
             | 
| 81 | 
            -
             | 
| 50 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 51 | 
            +
                requirements:
         | 
| 52 | 
            +
                - - '='
         | 
| 53 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 54 | 
            +
                    version: 1.8.3
         | 
| 55 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 56 | 
            +
              name: bson_ext
         | 
| 57 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 58 | 
            +
                requirements:
         | 
| 59 | 
            +
                - - '='
         | 
| 60 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 61 | 
             
                    version: 1.8.3
         | 
| 83 62 | 
             
              type: :runtime
         | 
| 84 | 
            -
              version_requirements: *id004
         | 
| 85 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 86 | 
            -
              name: mongo
         | 
| 87 63 | 
             
              prerelease: false
         | 
| 88 | 
            -
               | 
| 89 | 
            -
                 | 
| 90 | 
            -
                 | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 64 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 65 | 
            +
                requirements:
         | 
| 66 | 
            +
                - - '='
         | 
| 67 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 68 | 
            +
                    version: 1.8.3
         | 
| 69 | 
            +
            - !ruby/object:Gem::Dependency
         | 
| 70 | 
            +
              name: mongo
         | 
| 71 | 
            +
              requirement: !ruby/object:Gem::Requirement
         | 
| 72 | 
            +
                requirements:
         | 
| 73 | 
            +
                - - '='
         | 
| 74 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 98 75 | 
             
                    version: 1.8.3
         | 
| 99 76 | 
             
              type: :runtime
         | 
| 100 | 
            -
               | 
| 101 | 
            -
             | 
| 77 | 
            +
              prerelease: false
         | 
| 78 | 
            +
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 79 | 
            +
                requirements:
         | 
| 80 | 
            +
                - - '='
         | 
| 81 | 
            +
                  - !ruby/object:Gem::Version
         | 
| 82 | 
            +
                    version: 1.8.3
         | 
| 83 | 
            +
            description: If the world were perfect, it wouldn't be. So you need the best error
         | 
| 84 | 
            +
              catcher of all time!
         | 
| 102 85 | 
             
            email: earlkrauss@gmail.com
         | 
| 103 86 | 
             
            executables: []
         | 
| 104 | 
            -
             | 
| 105 87 | 
             
            extensions: []
         | 
| 106 | 
            -
             | 
| 107 88 | 
             
            extra_rdoc_files: []
         | 
| 108 | 
            -
             | 
| 109 | 
            -
            files: 
         | 
| 89 | 
            +
            files:
         | 
| 110 90 | 
             
            - lib/facets.rb
         | 
| 111 91 | 
             
            - lib/yogi_berra/action_controller_catcher.rb
         | 
| 112 92 | 
             
            - lib/yogi_berra/backtrace.rb
         | 
| @@ -131,41 +111,31 @@ files: | |
| 131 111 | 
             
            - spec/yogi_berra_data_spec.rb
         | 
| 132 112 | 
             
            - spec/yogi_berra_exception_middleware_spec.rb
         | 
| 133 113 | 
             
            - spec/yogi_berra_logger_spec.rb
         | 
| 134 | 
            -
            has_rdoc: true
         | 
| 135 114 | 
             
            homepage: http://github.com/earlonrails/yogi_berra
         | 
| 136 | 
            -
            licenses: | 
| 115 | 
            +
            licenses:
         | 
| 137 116 | 
             
            - MIT
         | 
| 117 | 
            +
            metadata: {}
         | 
| 138 118 | 
             
            post_install_message: 
         | 
| 139 119 | 
             
            rdoc_options: []
         | 
| 140 | 
            -
             | 
| 141 | 
            -
            require_paths: 
         | 
| 120 | 
            +
            require_paths:
         | 
| 142 121 | 
             
            - lib
         | 
| 143 | 
            -
            required_ruby_version: !ruby/object:Gem::Requirement | 
| 144 | 
            -
               | 
| 145 | 
            -
               | 
| 146 | 
            -
             | 
| 147 | 
            -
             | 
| 148 | 
            -
             | 
| 149 | 
            -
             | 
| 150 | 
            -
             | 
| 151 | 
            -
             | 
| 152 | 
            -
             | 
| 153 | 
            -
              none: false
         | 
| 154 | 
            -
              requirements: 
         | 
| 155 | 
            -
              - - ">="
         | 
| 156 | 
            -
                - !ruby/object:Gem::Version 
         | 
| 157 | 
            -
                  hash: 3
         | 
| 158 | 
            -
                  segments: 
         | 
| 159 | 
            -
                  - 0
         | 
| 160 | 
            -
                  version: "0"
         | 
| 122 | 
            +
            required_ruby_version: !ruby/object:Gem::Requirement
         | 
| 123 | 
            +
              requirements:
         | 
| 124 | 
            +
              - - ! '>='
         | 
| 125 | 
            +
                - !ruby/object:Gem::Version
         | 
| 126 | 
            +
                  version: '0'
         | 
| 127 | 
            +
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 128 | 
            +
              requirements:
         | 
| 129 | 
            +
              - - ! '>='
         | 
| 130 | 
            +
                - !ruby/object:Gem::Version
         | 
| 131 | 
            +
                  version: '0'
         | 
| 161 132 | 
             
            requirements: []
         | 
| 162 | 
            -
             | 
| 163 133 | 
             
            rubyforge_project: 
         | 
| 164 | 
            -
            rubygems_version: 1. | 
| 134 | 
            +
            rubygems_version: 2.1.11
         | 
| 165 135 | 
             
            signing_key: 
         | 
| 166 | 
            -
            specification_version:  | 
| 136 | 
            +
            specification_version: 4
         | 
| 167 137 | 
             
            summary: Catches errors in your rails app and doesn't get in the way.
         | 
| 168 | 
            -
            test_files: | 
| 138 | 
            +
            test_files:
         | 
| 169 139 | 
             
            - spec/fixtures/config/yogi.yml
         | 
| 170 140 | 
             
            - spec/fixtures/rails.rb
         | 
| 171 141 | 
             
            - spec/fixtures/test.yml
         |