Commit 46dcb7fe6a0f0295331cab8ae64b510b4cdfa088

Authored by Nathan Broadbent
1 parent 09b0dbca
Exists in master and in 1 other branch production

Fixed specs for 1.8.7

Showing 1 changed file with 17 additions and 17 deletions   Show diff stats
app/models/problem.rb
@@ -40,15 +40,15 @@ class Problem @@ -40,15 +40,15 @@ class Problem
40 has_many :comments, :inverse_of => :err, :dependent => :destroy 40 has_many :comments, :inverse_of => :err, :dependent => :destroy
41 41
42 before_create :cache_app_attributes 42 before_create :cache_app_attributes
43 - 43 +
44 scope :resolved, where(:resolved => true) 44 scope :resolved, where(:resolved => true)
45 scope :unresolved, where(:resolved => false) 45 scope :unresolved, where(:resolved => false)
46 scope :ordered, order_by(:last_notice_at.desc) 46 scope :ordered, order_by(:last_notice_at.desc)
47 scope :for_apps, lambda {|apps| where(:app_id.in => apps.all.map(&:id))} 47 scope :for_apps, lambda {|apps| where(:app_id.in => apps.all.map(&:id))}
48 - 48 +
49 validates_presence_of :last_notice_at, :first_notice_at 49 validates_presence_of :last_notice_at, :first_notice_at
50 -  
51 - 50 +
  51 +
52 def self.all_else_unresolved all 52 def self.all_else_unresolved all
53 if all 53 if all
54 find(:all) 54 find(:all)
@@ -56,11 +56,11 @@ class Problem @@ -56,11 +56,11 @@ class Problem
56 where(:resolved => false) 56 where(:resolved => false)
57 end 57 end
58 end 58 end
59 - 59 +
60 def self.in_env(env) 60 def self.in_env(env)
61 env.present? ? where(:environment => env) : scoped 61 env.present? ? where(:environment => env) : scoped
62 end 62 end
63 - 63 +
64 def notices 64 def notices
65 Notice.for_errs(errs).ordered 65 Notice.for_errs(errs).ordered
66 end 66 end
@@ -68,20 +68,20 @@ class Problem @@ -68,20 +68,20 @@ class Problem
68 def comments_allowed? 68 def comments_allowed?
69 Errbit::Config.allow_comments_with_issue_tracker || !app.issue_tracker_configured? 69 Errbit::Config.allow_comments_with_issue_tracker || !app.issue_tracker_configured?
70 end 70 end
71 - 71 +
72 def resolve! 72 def resolve!
73 self.update_attributes!(:resolved => true, :resolved_at => Time.now) 73 self.update_attributes!(:resolved => true, :resolved_at => Time.now)
74 end 74 end
75 - 75 +
76 def unresolve! 76 def unresolve!
77 self.update_attributes!(:resolved => false, :resolved_at => nil) 77 self.update_attributes!(:resolved => false, :resolved_at => nil)
78 end 78 end
79 - 79 +
80 def unresolved? 80 def unresolved?
81 !resolved? 81 !resolved?
82 end 82 end
83 -  
84 - 83 +
  84 +
85 def self.merge!(*problems) 85 def self.merge!(*problems)
86 problems = problems.flatten.uniq 86 problems = problems.flatten.uniq
87 merged_problem = problems.shift 87 merged_problem = problems.shift
@@ -93,11 +93,11 @@ class Problem @@ -93,11 +93,11 @@ class Problem
93 merged_problem.reset_cached_attributes 93 merged_problem.reset_cached_attributes
94 merged_problem 94 merged_problem
95 end 95 end
96 - 96 +
97 def merged? 97 def merged?
98 errs.length > 1 98 errs.length > 1
99 end 99 end
100 - 100 +
101 def unmerge! 101 def unmerge!
102 problem_errs = errs.to_a 102 problem_errs = errs.to_a
103 problem_errs.shift 103 problem_errs.shift
@@ -110,7 +110,7 @@ class Problem @@ -110,7 +110,7 @@ class Problem
110 end 110 end
111 end 111 end
112 112
113 - 113 +
114 def self.ordered_by(sort, order) 114 def self.ordered_by(sort, order)
115 case sort 115 case sort
116 when "app"; order_by(["app_name", order]) 116 when "app"; order_by(["app_name", order])
@@ -121,7 +121,7 @@ class Problem @@ -121,7 +121,7 @@ class Problem
121 else raise("\"#{sort}\" is not a recognized sort") 121 else raise("\"#{sort}\" is not a recognized sort")
122 end 122 end
123 end 123 end
124 - 124 +
125 def self.in_date_range(date_range) 125 def self.in_date_range(date_range)
126 where(:first_notice_at.lte => date_range.end).where("$or" => [{:resolved_at => nil}, {:resolved_at.gte => date_range.begin}]) 126 where(:first_notice_at.lte => date_range.end).where("$or" => [{:resolved_at => nil}, {:resolved_at.gte => date_range.begin}])
127 end 127 end
@@ -149,7 +149,7 @@ class Problem @@ -149,7 +149,7 @@ class Problem
149 first_notice = notices.order_by([:created_at, :asc]).first 149 first_notice = notices.order_by([:created_at, :asc]).first
150 last_notice = notices.order_by([:created_at, :asc]).last 150 last_notice = notices.order_by([:created_at, :asc]).last
151 notice ||= first_notice 151 notice ||= first_notice
152 - 152 +
153 attrs = {} 153 attrs = {}
154 attrs[:first_notice_at] = first_notice.created_at if first_notice 154 attrs[:first_notice_at] = first_notice.created_at if first_notice
155 attrs[:last_notice_at] = last_notice.created_at if last_notice 155 attrs[:last_notice_at] = last_notice.created_at if last_notice
@@ -180,7 +180,7 @@ class Problem @@ -180,7 +180,7 @@ class Problem
180 end 180 end
181 181
182 def self.search(value) 182 def self.search(value)
183 - where.or(error_class: /#{value}/i).or(where: /#{value}/i).or(message: /#{value}/i).or(app_name: /#{value}/i).or(environment: /#{value}/i) 183 + where.or(:error_class => /#{value}/i).or(:where => /#{value}/i).or(:message => /#{value}/i).or(:app_name => /#{value}/i).or(:environment => /#{value}/i)
184 end 184 end
185 185
186 private 186 private