misfit 0.0.2 → 0.0.3

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