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 | ... | ... |