Commit 46dcb7fe6a0f0295331cab8ae64b510b4cdfa088
1 parent
09b0dbca
Exists in
master
and in
1 other branch
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 |