diff --git a/app/models/error.rb b/app/models/error.rb index c1d62f5..671580e 100644 --- a/app/models/error.rb +++ b/app/models/error.rb @@ -7,6 +7,7 @@ class Error field :component field :action field :environment + field :resolved, :type => Boolean embeds_many :notices @@ -16,6 +17,14 @@ class Error self.where(attrs).first || create(attrs) end + def resolve! + self.update_attributes(:resolved => true) + end + + def unresolved? + !resolved? + end + def last_notice_at notices.last.try(:created_at) end diff --git a/spec/models/error_spec.rb b/spec/models/error_spec.rb index 12cca9a..b9f0a53 100644 --- a/spec/models/error_spec.rb +++ b/spec/models/error_spec.rb @@ -53,4 +53,19 @@ describe Error do end end + context "#resolved?" do + it "should start out as unresolved" do + error = Error.new + error.should_not be_resolved + error.should be_unresolved + end + + it "should be able to be resolved" do + error = Factory(:error) + error.should_not be_resolved + error.resolve! + error.reload.should be_resolved + end + end + end \ No newline at end of file -- libgit2 0.21.2