summaryrefslogtreecommitdiff
path: root/app/observers/activity_observer.rb
blob: 48351bac667d36036f188630f16b4788cfdf0996 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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