Commit 02b960c9 authored by Jacob Vosmaer's avatar Jacob Vosmaer

Make GitlabProjects#create_hooks a class method

parent 56e216f3
...@@ -16,6 +16,12 @@ class GitlabProjects ...@@ -16,6 +16,12 @@ class GitlabProjects
# Ex /home/git/repositories/test.git # Ex /home/git/repositories/test.git
attr_reader :full_path attr_reader :full_path
def self.create_hooks(path)
hook = File.join(path, 'hooks', 'update')
File.delete(hook) if File.exists?(hook)
File.symlink(File.join(ROOT_PATH, 'hooks', 'update'), hook)
end
def initialize def initialize
@command = ARGV.shift @command = ARGV.shift
@project_name = ARGV.shift @project_name = ARGV.shift
...@@ -74,13 +80,7 @@ class GitlabProjects ...@@ -74,13 +80,7 @@ class GitlabProjects
$logger.info "Adding project #{@project_name} at <#{full_path}>." $logger.info "Adding project #{@project_name} at <#{full_path}>."
FileUtils.mkdir_p(full_path, mode: 0770) FileUtils.mkdir_p(full_path, mode: 0770)
cmd = %W(git --git-dir=#{full_path} init --bare) cmd = %W(git --git-dir=#{full_path} init --bare)
system(*cmd) && create_hooks(full_path) system(*cmd) && self.class.create_hooks(full_path)
end
def create_hooks(path)
hook = File.join(path, 'hooks', 'update')
File.delete(hook) if File.exists?(hook)
File.symlink(File.join(ROOT_PATH, 'hooks', 'update'), hook)
end end
def rm_project def rm_project
...@@ -94,7 +94,7 @@ class GitlabProjects ...@@ -94,7 +94,7 @@ class GitlabProjects
@source = ARGV.shift @source = ARGV.shift
$logger.info "Importing project #{@project_name} from <#{@source}> to <#{full_path}>." $logger.info "Importing project #{@project_name} from <#{@source}> to <#{full_path}>."
cmd = %W(git clone --bare -- #{@source} #{full_path}) cmd = %W(git clone --bare -- #{@source} #{full_path})
system(*cmd) && create_hooks(full_path) system(*cmd) && self.class.create_hooks(full_path)
end end
# Move repository from one directory to another # Move repository from one directory to another
...@@ -156,7 +156,7 @@ class GitlabProjects ...@@ -156,7 +156,7 @@ class GitlabProjects
$logger.info "Forking project from <#{full_path}> to <#{full_destination_path}>." $logger.info "Forking project from <#{full_path}> to <#{full_destination_path}>."
cmd = %W(git clone --bare -- #{full_path} #{full_destination_path}) cmd = %W(git clone --bare -- #{full_path} #{full_destination_path})
system(*cmd) && create_hooks(full_destination_path) system(*cmd) && self.class.create_hooks(full_destination_path)
end end
def update_head def update_head
......
...@@ -95,7 +95,7 @@ describe GitlabProjects do ...@@ -95,7 +95,7 @@ describe GitlabProjects do
it "should create a directory" do it "should create a directory" do
gl_projects.stub(system: true) gl_projects.stub(system: true)
gl_projects.stub(create_hooks: true) GitlabProjects.stub(create_hooks: true)
gl_projects.exec gl_projects.exec
File.exists?(tmp_repo_path).should be_true File.exists?(tmp_repo_path).should be_true
end end
...@@ -103,7 +103,7 @@ describe GitlabProjects do ...@@ -103,7 +103,7 @@ describe GitlabProjects do
it "should receive valid cmd" do it "should receive valid cmd" do
valid_cmd = ['git', "--git-dir=#{tmp_repo_path}", 'init', '--bare'] valid_cmd = ['git', "--git-dir=#{tmp_repo_path}", 'init', '--bare']
gl_projects.should_receive(:system).with(*valid_cmd).and_return(true) gl_projects.should_receive(:system).with(*valid_cmd).and_return(true)
gl_projects.should_receive(:create_hooks).with(tmp_repo_path) GitlabProjects.should_receive(:create_hooks).with(tmp_repo_path)
gl_projects.exec gl_projects.exec
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment