Skip to content

Commit 95b84e2

Browse files
committed
Move branch creation logic in service
Signed-off-by: Dmitriy Zaporozhets <[email protected]>
1 parent 8f3701e commit 95b84e2

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

app/controllers/projects/branches_controller.rb

+1-5
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,7 @@ def recent
1616
end
1717

1818
def create
19-
@repository.add_branch(params[:branch_name], params[:ref])
20-
21-
if new_branch = @repository.find_branch(params[:branch_name])
22-
Event.create_ref_event(@project, current_user, new_branch, 'add')
23-
end
19+
CreateBranchService.new.execute(project, params[:branch_name], params[:ref], current_user)
2420

2521
redirect_to project_branches_path(@project)
2622
end

app/services/create_branch_service.rb

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
class CreateBranchService
2+
def execute(project, branch_name, ref, current_user)
3+
repository = project.repository
4+
repository.add_branch(branch_name, ref)
5+
new_branch = repository.find_branch(branch_name)
6+
7+
if new_branch
8+
Event.create_ref_event(project, current_user, new_branch, 'add')
9+
end
10+
11+
new_branch
12+
end
13+
end

0 commit comments

Comments
 (0)