Commit 0ab40a693b73db02686fa0f96b2ffa1c4d611192

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

Add resolved/unresolved scopes on Err

Showing 2 changed files with 25 additions and 2 deletions   Show diff stats
app/models/err.rb
... ... @@ -7,16 +7,19 @@ class Err
7 7 field :component
8 8 field :action
9 9 field :environment
10   - field :resolved, :type => Boolean
  10 + field :resolved, :type => Boolean, :default => false
11 11  
12 12 referenced_in :project
13 13 embeds_many :notices
14 14  
15 15 validates_presence_of :klass, :environment
16 16  
  17 + scope :resolved, where(:resolved => true)
  18 + scope :unresolved, where(:resolved => false)
  19 +
17 20 def self.for(attrs)
18 21 project = attrs.delete(:project)
19   - project.errs.where(attrs).first || project.errs.create(attrs)
  22 + project.errs.unresolved.where(attrs).first || project.errs.create(attrs)
20 23 end
21 24  
22 25 def resolve!
... ...
spec/models/err_spec.rb
... ... @@ -74,4 +74,24 @@ describe Err do
74 74 end
75 75 end
76 76  
  77 + context "Scopes" do
  78 + context "resolved" do
  79 + it 'only finds resolved Errors' do
  80 + resolved = Factory(:err, :resolved => true)
  81 + unresolved = Factory(:err, :resolved => false)
  82 + Err.resolved.all.should include(resolved)
  83 + Err.resolved.all.should_not include(unresolved)
  84 + end
  85 + end
  86 +
  87 + context "unresolved" do
  88 + it 'only finds unresolved Errors' do
  89 + resolved = Factory(:err, :resolved => true)
  90 + unresolved = Factory(:err, :resolved => false)
  91 + Err.unresolved.all.should_not include(resolved)
  92 + Err.unresolved.all.should include(unresolved)
  93 + end
  94 + end
  95 + end
  96 +
77 97 end
78 98 \ No newline at end of file
... ...