loganb-nestegg 0.0.3 → 0.0.4
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/.gitignore +6 -0
 - data/History.txt +8 -0
 - data/Rakefile +4 -4
 - data/VERSION +1 -1
 - data/lib/nestegg/nesting_exception.rb +5 -5
 - data/spec/nestegg/nesting_exception_spec.rb +33 -9
 - data/spec/spec_helper.rb +8 -1
 - metadata +10 -8
 - data/lib/nestegg/version.rb +0 -9
 - data/nestegg.gemspec +0 -54
 
    
        data/.gitignore
    ADDED
    
    
    
        data/History.txt
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | 
         @@ -1,12 +1,12 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            begin
         
     | 
| 
       2 
2 
     | 
    
         
             
              require 'jeweler'
         
     | 
| 
       3 
3 
     | 
    
         
             
              Jeweler::Tasks.new do |gemspec|
         
     | 
| 
       4 
     | 
    
         
            -
                gemspec.name = "nestegg"
         
     | 
| 
      
 4 
     | 
    
         
            +
                gemspec.name = "loganb-nestegg"
         
     | 
| 
       5 
5 
     | 
    
         
             
                gemspec.summary = "Nested exceptions for ruby"
         
     | 
| 
       6 
6 
     | 
    
         
             
                gemspec.description = "Module to add a 'cause' field to exceptions and automatically chains exceptions on re-raise"
         
     | 
| 
       7 
     | 
    
         
            -
                gemspec.email = " 
     | 
| 
       8 
     | 
    
         
            -
                gemspec.homepage = "http://nestegg 
     | 
| 
       9 
     | 
    
         
            -
                gemspec.authors = ["John D. Hume"]
         
     | 
| 
      
 7 
     | 
    
         
            +
                gemspec.email = "logan@datacurrent.com"
         
     | 
| 
      
 8 
     | 
    
         
            +
                gemspec.homepage = "http://github.com/loganb/nestegg"
         
     | 
| 
      
 9 
     | 
    
         
            +
                gemspec.authors = ["John D. Hume", "Logan Bowers", "Matt Scilipoti"]
         
     | 
| 
       10 
10 
     | 
    
         
             
              end
         
     | 
| 
       11 
11 
     | 
    
         
             
            rescue LoadError
         
     | 
| 
       12 
12 
     | 
    
         
             
              puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
         
     | 
    
        data/VERSION
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            0.0. 
     | 
| 
      
 1 
     | 
    
         
            +
            0.0.4
         
     | 
| 
         @@ -1,13 +1,13 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Nestegg
         
     | 
| 
       2 
2 
     | 
    
         
             
              module NestingException
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
       4 
4 
     | 
    
         
             
                attr_reader :cause
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       6 
6 
     | 
    
         
             
                def initialize message = nil, cause = $!
         
     | 
| 
       7 
7 
     | 
    
         
             
                  @cause = cause
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
                  super(message ||= cause.message)
         
     | 
| 
       9 
9 
     | 
    
         
             
                end
         
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       11 
11 
     | 
    
         
             
                def set_backtrace bt
         
     | 
| 
       12 
12 
     | 
    
         
             
                  if cause
         
     | 
| 
       13 
13 
     | 
    
         
             
                    cause.backtrace.reverse.each do |line|
         
     | 
| 
         @@ -22,6 +22,6 @@ module Nestegg 
     | 
|
| 
       22 
22 
     | 
    
         
             
                  end
         
     | 
| 
       23 
23 
     | 
    
         
             
                  super bt
         
     | 
| 
       24 
24 
     | 
    
         
             
                end
         
     | 
| 
       25 
     | 
    
         
            -
             
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
       26 
26 
     | 
    
         
             
              end
         
     | 
| 
       27 
27 
     | 
    
         
             
            end
         
     | 
| 
         @@ -1,17 +1,17 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require File.expand_path(File.dirname(__FILE__) + '/../spec_helper.rb')
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            describe Nestegg::NestingException do
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
       5 
5 
     | 
    
         
             
              class TestNestingError < StandardError
         
     | 
| 
       6 
6 
     | 
    
         
             
                include Nestegg::NestingException
         
     | 
| 
       7 
7 
     | 
    
         
             
              end
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
       9 
9 
     | 
    
         
             
              def create_cause(klass = StandardError, message = "cause msg", backtrace = ["line_one", "line_two"])
         
     | 
| 
       10 
10 
     | 
    
         
             
                e = klass.new(message)
         
     | 
| 
       11 
11 
     | 
    
         
             
                e.set_backtrace backtrace
         
     | 
| 
       12 
12 
     | 
    
         
             
                e
         
     | 
| 
       13 
13 
     | 
    
         
             
              end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
       15 
15 
     | 
    
         
             
              def with_exception exception
         
     | 
| 
       16 
16 
     | 
    
         
             
                begin
         
     | 
| 
       17 
17 
     | 
    
         
             
                  raise exception
         
     | 
| 
         @@ -19,21 +19,21 @@ describe Nestegg::NestingException do 
     | 
|
| 
       19 
19 
     | 
    
         
             
                  yield e
         
     | 
| 
       20 
20 
     | 
    
         
             
                end
         
     | 
| 
       21 
21 
     | 
    
         
             
              end
         
     | 
| 
       22 
     | 
    
         
            -
             
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
       23 
23 
     | 
    
         
             
              it "includes cause in backtrace" do
         
     | 
| 
       24 
24 
     | 
    
         
             
                cause = create_cause(StandardError)
         
     | 
| 
       25 
25 
     | 
    
         
             
                with_exception TestNestingError.new("some message", cause) do |e|
         
     | 
| 
       26 
26 
     | 
    
         
             
                  e.backtrace.should include("cause: StandardError: #{cause.message}")
         
     | 
| 
       27 
27 
     | 
    
         
             
                end
         
     | 
| 
       28 
28 
     | 
    
         
             
              end
         
     | 
| 
       29 
     | 
    
         
            -
             
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       30 
30 
     | 
    
         
             
              it "includes cause's backtrace after cause in backtrace" do
         
     | 
| 
       31 
31 
     | 
    
         
             
                cause = create_cause(StandardError)
         
     | 
| 
       32 
32 
     | 
    
         
             
                with_exception TestNestingError.new("some message", cause) do |e|
         
     | 
| 
       33 
33 
     | 
    
         
             
                  e.backtrace[-3..-1].should == ["cause: StandardError: #{cause.message}", "line_one", "line_two"]
         
     | 
| 
       34 
34 
     | 
    
         
             
                end
         
     | 
| 
       35 
35 
     | 
    
         
             
              end
         
     | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
       37 
37 
     | 
    
         
             
              it "removes duplicated backtrace elements from nesting exception" do
         
     | 
| 
       38 
38 
     | 
    
         
             
                cause_bt = caller.unshift "some_other_line"
         
     | 
| 
       39 
39 
     | 
    
         
             
                cause = create_cause(StandardError, "msg", cause_bt)
         
     | 
| 
         @@ -44,7 +44,7 @@ describe Nestegg::NestingException do 
     | 
|
| 
       44 
44 
     | 
    
         
             
                  e.backtrace[0..1].should == ["#{__FILE__}:#{line}", "cause: StandardError: msg"]
         
     | 
| 
       45 
45 
     | 
    
         
             
                end
         
     | 
| 
       46 
46 
     | 
    
         
             
              end
         
     | 
| 
       47 
     | 
    
         
            -
             
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
       48 
48 
     | 
    
         
             
              it "defaults cause to current raised exception ($!)" do
         
     | 
| 
       49 
49 
     | 
    
         
             
                expected_cause = StandardError.new
         
     | 
| 
       50 
50 
     | 
    
         
             
                raised_error = nil
         
     | 
| 
         @@ -59,5 +59,29 @@ describe Nestegg::NestingException do 
     | 
|
| 
       59 
59 
     | 
    
         
             
                end
         
     | 
| 
       60 
60 
     | 
    
         
             
                raised_error.cause.should == expected_cause
         
     | 
| 
       61 
61 
     | 
    
         
             
              end
         
     | 
| 
       62 
     | 
    
         
            -
             
     | 
| 
       63 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
              it "uses passed message" do
         
     | 
| 
      
 64 
     | 
    
         
            +
                begin
         
     | 
| 
      
 65 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 66 
     | 
    
         
            +
                    raise StandardError, 'STD MSG'
         
     | 
| 
      
 67 
     | 
    
         
            +
                  rescue StandardError
         
     | 
| 
      
 68 
     | 
    
         
            +
                    raise TestNestingError, 'NESTED MESSAGE'
         
     | 
| 
      
 69 
     | 
    
         
            +
                  end
         
     | 
| 
      
 70 
     | 
    
         
            +
                rescue TestNestingError => e
         
     | 
| 
      
 71 
     | 
    
         
            +
                  e.message.should == 'NESTED MESSAGE'
         
     | 
| 
      
 72 
     | 
    
         
            +
                end
         
     | 
| 
      
 73 
     | 
    
         
            +
              end
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
              it "defaults message to cause's message" do
         
     | 
| 
      
 76 
     | 
    
         
            +
                begin
         
     | 
| 
      
 77 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 78 
     | 
    
         
            +
                    raise StandardError, 'STD MSG'
         
     | 
| 
      
 79 
     | 
    
         
            +
                  rescue StandardError
         
     | 
| 
      
 80 
     | 
    
         
            +
                    raise TestNestingError
         
     | 
| 
      
 81 
     | 
    
         
            +
                  end
         
     | 
| 
      
 82 
     | 
    
         
            +
                rescue TestNestingError => e
         
     | 
| 
      
 83 
     | 
    
         
            +
                  e.message.should == 'STD MSG'
         
     | 
| 
      
 84 
     | 
    
         
            +
                end
         
     | 
| 
      
 85 
     | 
    
         
            +
              end
         
     | 
| 
      
 86 
     | 
    
         
            +
             
     | 
| 
      
 87 
     | 
    
         
            +
            end
         
     | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    | 
         @@ -1,3 +1,10 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'rubygems'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'spec'
         
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
            #Replaced this `require` with `$LOAD_PATH.unshift`
         
     | 
| 
      
 5 
     | 
    
         
            +
            #to ensure the file is used instead of the gem.
         
     | 
| 
      
 6 
     | 
    
         
            +
            #lib/nestegg.rb was loading nestegg/version from the gem
         
     | 
| 
      
 7 
     | 
    
         
            +
            #instead of lib/nestegg/version.rb
         
     | 
| 
      
 8 
     | 
    
         
            +
            #require File.dirname(__FILE__) + '/../lib/nestegg'
         
     | 
| 
      
 9 
     | 
    
         
            +
            $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '../lib'))
         
     | 
| 
      
 10 
     | 
    
         
            +
            require 'nestegg'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,20 +1,22 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification 
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: loganb-nestegg
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version 
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.0.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors: 
         
     | 
| 
       7 
7 
     | 
    
         
             
            - John D. Hume
         
     | 
| 
      
 8 
     | 
    
         
            +
            - Logan Bowers
         
     | 
| 
      
 9 
     | 
    
         
            +
            - Matt Scilipoti
         
     | 
| 
       8 
10 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
11 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
12 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
13 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            date: 2009- 
     | 
| 
      
 14 
     | 
    
         
            +
            date: 2009-10-08 00:00:00 -07:00
         
     | 
| 
       13 
15 
     | 
    
         
             
            default_executable: 
         
     | 
| 
       14 
16 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       15 
17 
     | 
    
         | 
| 
       16 
18 
     | 
    
         
             
            description: Module to add a 'cause' field to exceptions and automatically chains exceptions on re-raise
         
     | 
| 
       17 
     | 
    
         
            -
            email:  
     | 
| 
      
 19 
     | 
    
         
            +
            email: logan@datacurrent.com
         
     | 
| 
       18 
20 
     | 
    
         
             
            executables: []
         
     | 
| 
       19 
21 
     | 
    
         | 
| 
       20 
22 
     | 
    
         
             
            extensions: []
         
     | 
| 
         @@ -22,6 +24,7 @@ extensions: [] 
     | 
|
| 
       22 
24 
     | 
    
         
             
            extra_rdoc_files: 
         
     | 
| 
       23 
25 
     | 
    
         
             
            - README.txt
         
     | 
| 
       24 
26 
     | 
    
         
             
            files: 
         
     | 
| 
      
 27 
     | 
    
         
            +
            - .gitignore
         
     | 
| 
       25 
28 
     | 
    
         
             
            - History.txt
         
     | 
| 
       26 
29 
     | 
    
         
             
            - License.txt
         
     | 
| 
       27 
30 
     | 
    
         
             
            - Manifest.txt
         
     | 
| 
         @@ -31,14 +34,13 @@ files: 
     | 
|
| 
       31 
34 
     | 
    
         
             
            - examples/nestegg_example.rb
         
     | 
| 
       32 
35 
     | 
    
         
             
            - lib/nestegg.rb
         
     | 
| 
       33 
36 
     | 
    
         
             
            - lib/nestegg/nesting_exception.rb
         
     | 
| 
       34 
     | 
    
         
            -
            - lib/nestegg/version.rb
         
     | 
| 
       35 
     | 
    
         
            -
            - nestegg.gemspec
         
     | 
| 
       36 
37 
     | 
    
         
             
            - spec/nestegg/nesting_exception_spec.rb
         
     | 
| 
       37 
38 
     | 
    
         
             
            - spec/spec.opts
         
     | 
| 
       38 
39 
     | 
    
         
             
            - spec/spec_helper.rb
         
     | 
| 
       39 
     | 
    
         
            -
            has_rdoc:  
     | 
| 
       40 
     | 
    
         
            -
            homepage: http://nestegg 
     | 
| 
       41 
     | 
    
         
            -
            licenses: 
         
     | 
| 
      
 40 
     | 
    
         
            +
            has_rdoc: true
         
     | 
| 
      
 41 
     | 
    
         
            +
            homepage: http://github.com/loganb/nestegg
         
     | 
| 
      
 42 
     | 
    
         
            +
            licenses: []
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
       42 
44 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       43 
45 
     | 
    
         
             
            rdoc_options: 
         
     | 
| 
       44 
46 
     | 
    
         
             
            - --charset=UTF-8
         
     | 
    
        data/lib/nestegg/version.rb
    DELETED
    
    
    
        data/nestegg.gemspec
    DELETED
    
    | 
         @@ -1,54 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # Generated by jeweler
         
     | 
| 
       2 
     | 
    
         
            -
            # DO NOT EDIT THIS FILE
         
     | 
| 
       3 
     | 
    
         
            -
            # Instead, edit Jeweler::Tasks in Rakefile, and run `rake gemspec`
         
     | 
| 
       4 
     | 
    
         
            -
            # -*- encoding: utf-8 -*-
         
     | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
            Gem::Specification.new do |s|
         
     | 
| 
       7 
     | 
    
         
            -
              s.name = %q{nestegg}
         
     | 
| 
       8 
     | 
    
         
            -
              s.version = "0.0.3"
         
     | 
| 
       9 
     | 
    
         
            -
             
     | 
| 
       10 
     | 
    
         
            -
              s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
         
     | 
| 
       11 
     | 
    
         
            -
              s.authors = ["John D. Hume"]
         
     | 
| 
       12 
     | 
    
         
            -
              s.date = %q{2009-09-22}
         
     | 
| 
       13 
     | 
    
         
            -
              s.description = %q{Module to add a 'cause' field to exceptions and automatically chains exceptions on re-raise}
         
     | 
| 
       14 
     | 
    
         
            -
              s.email = %q{duelin dot markers at gmail}
         
     | 
| 
       15 
     | 
    
         
            -
              s.extra_rdoc_files = [
         
     | 
| 
       16 
     | 
    
         
            -
                "README.txt"
         
     | 
| 
       17 
     | 
    
         
            -
              ]
         
     | 
| 
       18 
     | 
    
         
            -
              s.files = [
         
     | 
| 
       19 
     | 
    
         
            -
                "History.txt",
         
     | 
| 
       20 
     | 
    
         
            -
                 "License.txt",
         
     | 
| 
       21 
     | 
    
         
            -
                 "Manifest.txt",
         
     | 
| 
       22 
     | 
    
         
            -
                 "README.txt",
         
     | 
| 
       23 
     | 
    
         
            -
                 "Rakefile",
         
     | 
| 
       24 
     | 
    
         
            -
                 "VERSION",
         
     | 
| 
       25 
     | 
    
         
            -
                 "examples/nestegg_example.rb",
         
     | 
| 
       26 
     | 
    
         
            -
                 "lib/nestegg.rb",
         
     | 
| 
       27 
     | 
    
         
            -
                 "lib/nestegg/nesting_exception.rb",
         
     | 
| 
       28 
     | 
    
         
            -
                 "lib/nestegg/version.rb",
         
     | 
| 
       29 
     | 
    
         
            -
                 "nestegg.gemspec",
         
     | 
| 
       30 
     | 
    
         
            -
                 "spec/nestegg/nesting_exception_spec.rb",
         
     | 
| 
       31 
     | 
    
         
            -
                 "spec/spec.opts",
         
     | 
| 
       32 
     | 
    
         
            -
                 "spec/spec_helper.rb"
         
     | 
| 
       33 
     | 
    
         
            -
              ]
         
     | 
| 
       34 
     | 
    
         
            -
              s.homepage = %q{http://nestegg.rubyforge.org}
         
     | 
| 
       35 
     | 
    
         
            -
              s.rdoc_options = ["--charset=UTF-8"]
         
     | 
| 
       36 
     | 
    
         
            -
              s.require_paths = ["lib"]
         
     | 
| 
       37 
     | 
    
         
            -
              s.rubygems_version = %q{1.3.5}
         
     | 
| 
       38 
     | 
    
         
            -
              s.summary = %q{Nested exceptions for ruby}
         
     | 
| 
       39 
     | 
    
         
            -
              s.test_files = [
         
     | 
| 
       40 
     | 
    
         
            -
                "spec/nestegg/nesting_exception_spec.rb",
         
     | 
| 
       41 
     | 
    
         
            -
                 "spec/spec_helper.rb",
         
     | 
| 
       42 
     | 
    
         
            -
                 "examples/nestegg_example.rb"
         
     | 
| 
       43 
     | 
    
         
            -
              ]
         
     | 
| 
       44 
     | 
    
         
            -
             
     | 
| 
       45 
     | 
    
         
            -
              if s.respond_to? :specification_version then
         
     | 
| 
       46 
     | 
    
         
            -
                current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
         
     | 
| 
       47 
     | 
    
         
            -
                s.specification_version = 3
         
     | 
| 
       48 
     | 
    
         
            -
             
     | 
| 
       49 
     | 
    
         
            -
                if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
         
     | 
| 
       50 
     | 
    
         
            -
                else
         
     | 
| 
       51 
     | 
    
         
            -
                end
         
     | 
| 
       52 
     | 
    
         
            -
              else
         
     | 
| 
       53 
     | 
    
         
            -
              end
         
     | 
| 
       54 
     | 
    
         
            -
            end
         
     |