class ActivityObserver < ActiveRecord::Observer observe :issue, :merge_request def after_create(record) Event.create( :project => record.project, :target_id => record.id, :target_type => record.class.name, :action => Event.determine_action(record), :author_id => record.author_id ) end def after_save(record) if record.changed.include?("closed") Event.create( :project => record.project, :target_id => record.id, :target_type => record.class.name, :action => (record.closed ? Event::Closed : Event::Reopened), :author_id => record.author_id_of_changes ) end end end