#!/usr/bin/env ruby-2.5

# This file was placed here by GitLab. It makes sure that your pushed commits
# will be processed properly.

refs = $stdin.read
key_id = ENV.delete('GL_ID')
gl_repository = ENV['GL_REPOSITORY']
repo_path = Dir.pwd

require_relative '../lib/gitlab_custom_hook'
require_relative '../lib/hooks_utils'
require_relative '../lib/gitlab_post_receive'

push_options = HooksUtils.get_push_options

if GitlabPostReceive.new(gl_repository, repo_path, key_id, refs, push_options).exec &&
    GitlabCustomHook.new(repo_path, key_id).post_receive(refs)
  exit 0
else
  exit 1
end
