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