Commit 7328898f3e99ff0199203f780334f3f3d1e62fef
1 parent
3052c8d7
Exists in
master
and in
1 other branch
Track resolved state on an error
Showing
2 changed files
with
24 additions
and
0 deletions
Show diff stats
app/models/error.rb
... | ... | @@ -7,6 +7,7 @@ class Error |
7 | 7 | field :component |
8 | 8 | field :action |
9 | 9 | field :environment |
10 | + field :resolved, :type => Boolean | |
10 | 11 | |
11 | 12 | embeds_many :notices |
12 | 13 | |
... | ... | @@ -16,6 +17,14 @@ class Error |
16 | 17 | self.where(attrs).first || create(attrs) |
17 | 18 | end |
18 | 19 | |
20 | + def resolve! | |
21 | + self.update_attributes(:resolved => true) | |
22 | + end | |
23 | + | |
24 | + def unresolved? | |
25 | + !resolved? | |
26 | + end | |
27 | + | |
19 | 28 | def last_notice_at |
20 | 29 | notices.last.try(:created_at) |
21 | 30 | end | ... | ... |
spec/models/error_spec.rb
... | ... | @@ -53,4 +53,19 @@ describe Error do |
53 | 53 | end |
54 | 54 | end |
55 | 55 | |
56 | + context "#resolved?" do | |
57 | + it "should start out as unresolved" do | |
58 | + error = Error.new | |
59 | + error.should_not be_resolved | |
60 | + error.should be_unresolved | |
61 | + end | |
62 | + | |
63 | + it "should be able to be resolved" do | |
64 | + error = Factory(:error) | |
65 | + error.should_not be_resolved | |
66 | + error.resolve! | |
67 | + error.reload.should be_resolved | |
68 | + end | |
69 | + end | |
70 | + | |
56 | 71 | end |
57 | 72 | \ No newline at end of file | ... | ... |