# Class SystemHookObserver < ActiveRecord::Observer

- app/observers/system_hook_observer.rb

Methods

A
  - after_create,
  - after_destroy

Instance Public methods
after_create(model) Link

Source: show

    # File app/observers/system_hook_observer.rb, line 4
    def after_create(model)
      if model.kind_of? Project
        SystemHook.all_hooks_fire({
          event_name: "project_create",
          name: model.name,
          path: model.path,
          project_id: model.id,
          owner_name: model.owner.name,
          owner_email: model.owner.email,
          created_at: model.created_at
        })
      elsif model.kind_of? User
        SystemHook.all_hooks_fire({
          event_name: "user_create",
          name: model.name,
          email: model.email,
          created_at: model.created_at
        })

      elsif model.kind_of? UsersProject
        SystemHook.all_hooks_fire({
          event_name: "user_add_to_team",
          project_name: model.project.name,
          project_path: model.project.path,
          project_id: model.project_id,
          user_name: model.user.name,
          user_email: model.user.email,
          project_access: model.repo_access_human,
          created_at: model.created_at
        })

      end
    end

after_destroy(model) Link

Source: show

    # File app/observers/system_hook_observer.rb, line 38
    def after_destroy(model)
      if model.kind_of? Project
        SystemHook.all_hooks_fire({
          event_name: "project_destroy",
          name: model.name,
          path: model.path,
          project_id: model.id,
          owner_name: model.owner.name,
          owner_email: model.owner.email,
        })
      elsif model.kind_of? User
        SystemHook.all_hooks_fire({
          event_name: "user_destroy",
          name: model.name,
          email: model.email
        })

      elsif model.kind_of? UsersProject
        SystemHook.all_hooks_fire({
          event_name: "user_remove_from_team",
          project_name: model.project.name,
          project_path: model.project.path,
          project_id: model.project_id,
          user_name: model.user.name,
          user_email: model.user.email,
          project_access: model.repo_access_human
        })
      end
    end