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,6 +7,7 @@ class Error | ||
7 | field :component | 7 | field :component |
8 | field :action | 8 | field :action |
9 | field :environment | 9 | field :environment |
10 | + field :resolved, :type => Boolean | ||
10 | 11 | ||
11 | embeds_many :notices | 12 | embeds_many :notices |
12 | 13 | ||
@@ -16,6 +17,14 @@ class Error | @@ -16,6 +17,14 @@ class Error | ||
16 | self.where(attrs).first || create(attrs) | 17 | self.where(attrs).first || create(attrs) |
17 | end | 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 | def last_notice_at | 28 | def last_notice_at |
20 | notices.last.try(:created_at) | 29 | notices.last.try(:created_at) |
21 | end | 30 | end |
spec/models/error_spec.rb
@@ -53,4 +53,19 @@ describe Error do | @@ -53,4 +53,19 @@ describe Error do | ||
53 | end | 53 | end |
54 | end | 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 | end | 71 | end |
57 | \ No newline at end of file | 72 | \ No newline at end of file |