Download as PDF, PPTX














![[WIP]](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fwhyyoucantignoregitlab-160328081535%2F85%2FWhy-you-can-t-ignore-GitLab-15-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fwhy-you-cant-ignore-gitlab%2F60106917&__type=image)


































![Services
class CreateSnippetService < BaseService
def execute
if project.nil?
snippet = PersonalSnippet.new(params)
else
snippet = project.snippets.build(params)
end
unless Gitlab::VisibilityLevel.allowed_for?(current_user, params[:visibility_level])
deny_visibility_level(snippet)
return snippet
end
snippet.author = current_user
snippet.save
snippet
end
end](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fwhyyoucantignoregitlab-160328081535%2F85%2FWhy-you-can-t-ignore-GitLab-50-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fwhy-you-cant-ignore-gitlab%2F60106917&__type=image)










GitLab is an opinionated and integrated set of tools based on convention over configuration that offers a superior user experience. It provides features like continuous integration, static site generation, issue tracking, code review and more. The document encourages using GitLab.com for free private repositories or self-hosting. Contributing to GitLab's open source project is also presented as a way to get feedback, build your resume and potentially get a job there. The architecture follows an MVC pattern with services and finders to power its functionality.














![[WIP]](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fwhyyoucantignoregitlab-160328081535%2F85%2FWhy-you-can-t-ignore-GitLab-15-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fwhy-you-cant-ignore-gitlab%2F60106917&__type=image)


































![Services
class CreateSnippetService < BaseService
def execute
if project.nil?
snippet = PersonalSnippet.new(params)
else
snippet = project.snippets.build(params)
end
unless Gitlab::VisibilityLevel.allowed_for?(current_user, params[:visibility_level])
deny_visibility_level(snippet)
return snippet
end
snippet.author = current_user
snippet.save
snippet
end
end](/p?url=https%3A%2F%2Fimage.slidesharecdn.com%2Fwhyyoucantignoregitlab-160328081535%2F85%2FWhy-you-can-t-ignore-GitLab-50-320.jpg&__src=https%3A%2F%2Fwww.slideshare.net%2Fslideshow%2Fwhy-you-cant-ignore-gitlab%2F60106917&__type=image)









