misfit 0.0.2 → 0.0.3

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/CHANGELOG CHANGED
@@ -1,3 +1,6 @@
1
+ = 0.0.3
2
+ * #inspect shows the included misfits
3
+
1
4
  = 0.0.2
2
5
  * Support for the way rspec instantiates errors in stubs
3
6
  * Support for instantiation without error messages
data/lib/misfit.rb CHANGED
@@ -36,6 +36,10 @@ module Misfit
36
36
  @exception_class
37
37
  end
38
38
 
39
+ def misfit?
40
+ true
41
+ end
42
+
39
43
  private
40
44
  def wrap_exception exception, data = nil
41
45
  exception.tap do |e|
@@ -59,8 +63,16 @@ module Misfit
59
63
  end
60
64
  end
61
65
 
66
+ def inspect
67
+ super.sub(/:/," (#{misfits.map(&:name).join(', ')}):")
68
+ end
69
+
62
70
  # this is here solely because of the way rspec instantiates exception objects in stubs
63
71
  def initialize *args
64
72
  super
65
73
  end
74
+
75
+ def misfits
76
+ singleton_class.included_modules.select {|m| m.respond_to?(:misfit?) && m.misfit? }
77
+ end
66
78
  end
@@ -1,3 +1,3 @@
1
1
  module Misfit
2
- VERSION = '0.0.2'
2
+ VERSION = '0.0.3'
3
3
  end
data/spec/misfit_spec.rb CHANGED
@@ -151,6 +151,20 @@ module MisfitSpec
151
151
  end
152
152
  end
153
153
  end
154
+
155
+ describe "#inspect" do
156
+ subject { error.inspect }
157
+
158
+ context "for Error.new('message')" do
159
+ let(:error) { Error.new('message') }
160
+ it { should == '#<StandardError (MisfitSpec::Error): message>' }
161
+ end
162
+
163
+ context "for FazError.new('message')" do
164
+ let(:error) { FazError.new('message') }
165
+ it { should == '#<IOError (MisfitSpec::FazError, MisfitSpec::FooError, MisfitSpec::Error): message>' }
166
+ end
167
+ end
154
168
  end
155
169
  end
156
170
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: misfit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-06-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
16
- requirement: &70208106687180 !ruby/object:Gem::Requirement
16
+ requirement: &70355146669340 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '3'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70208106687180
24
+ version_requirements: *70355146669340
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70208106655660 !ruby/object:Gem::Requirement
27
+ requirement: &70355146637840 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70208106655660
35
+ version_requirements: *70355146637840
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70208106654580 !ruby/object:Gem::Requirement
38
+ requirement: &70355146636660 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '2'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70208106654580
46
+ version_requirements: *70355146636660
47
47
  description: Flexible approach to handling exceptions in ruby (for library writers,
48
48
  or consumers). Ispired by Avdi Grimm's excellent book 'Exceptional Ruby'.
49
49
  email:
@@ -74,7 +74,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
74
  version: '0'
75
75
  segments:
76
76
  - 0
77
- hash: 2688544848088413638
77
+ hash: 2488164774415568640
78
78
  required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  none: false
80
80
  requirements:
@@ -83,7 +83,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
83
83
  version: '0'
84
84
  segments:
85
85
  - 0
86
- hash: 2688544848088413638
86
+ hash: 2488164774415568640
87
87
  requirements: []
88
88
  rubyforge_project:
89
89
  rubygems_version: 1.8.15