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