11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# File 'app/models/blazer/check.rb', line 11
def update_state(rows, error)
invert = self.respond_to?(:invert) && self.invert
self.state =
if error
"error"
elsif rows.any?
invert ? "passing" : "failing"
else
invert ? "failing" : "passing"
end
self.last_run_at = Time.now if self.respond_to?(:last_run_at=)
if (state_was || state != "passing") && state != state_was && emails.present?
Blazer::CheckMailer.state_change(self, state, state_was, rows.size, error).deliver_later
end
save! if changed?
end
|