Class: TaskObserver

Inherits:
ActiveRecord::Observer
  • Object
show all
Defined in:
app/models/observers/task_observer.rb

Overview

Copyright © 2008-2013 Michael Dvorkin and contributors.

Fat Free CRM is freely distributable under the terms of MIT license. See MIT-LICENSE file or www.opensource.org/licenses/mit-license.php


Constant Summary collapse

@@tasks =
{}

Instance Method Summary collapse

Instance Method Details

#after_update(item) ⇒ Object



17
18
19
20
21
22
23
24
# File 'app/models/observers/task_observer.rb', line 17

def after_update(item)
  original = @@tasks.delete(item.id)
  if original
    return log_activity(item, :complete)   if item.completed_at && original.completed_at.nil?
    return log_activity(item, :reassign)   if item.assigned_to != original.assigned_to
    return log_activity(item, :reschedule) if item.bucket != original.bucket
  end
end

#before_update(item) ⇒ Object



13
14
15
# File 'app/models/observers/task_observer.rb', line 13

def before_update(item)
  @@tasks[item.id] = Task.find(item.id).freeze
end