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 |