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