summaryrefslogtreecommitdiff
path: root/app/observers/activity_observer.rb
blob: 324d8207d2284d6e9d22be2048a41c99508ed391 (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