Commit 7328898f3e99ff0199203f780334f3f3d1e62fef

Authored by Jared Pace
1 parent 3052c8d7
Exists in master and in 1 other branch production

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