Module: Gitlab::Client::Snippets

Included in:
Gitlab::Client
Defined in:
lib/gitlab/client/snippets.rb

Overview

Defines methods related to snippets.

Instance Method Summary collapse

Instance Method Details

#create_snippet(project, options = {}) ⇒ Gitlab::ObjectifiedHash

Creates a new snippet.

Examples:

Gitlab.create_snippet(42, { title: 'REST', file_name: 'api.rb', code: 'some code', visibility: 'public'})

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :title (String) — default: required

    The title of a snippet.

  • :file_name (String) — default: required

    The name of a snippet file.

  • :code (String) — default: required

    The content of a snippet.

  • :lifetime (String) — default: optional

    The expiration date of a snippet.

  • :visibility (String) — default: required

    The visibility of a snippet

Returns:

 46 47 48
# File 'lib/gitlab/client/snippets.rb', line 46 def create_snippet(project, options = {}) post("/projects/#{url_encode project}/snippets", body: options) end

#delete_snippet(project, id) ⇒ Gitlab::ObjectifiedHash

Deletes a snippet.

Examples:

Gitlab.delete_snippet(2, 14)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • id (Integer)

    The ID of a snippet.

Returns:

 76 77 78
# File 'lib/gitlab/client/snippets.rb', line 76 def delete_snippet(project, id) delete("/projects/#{url_encode project}/snippets/#{id}") end

#edit_snippet(project, id, options = {}) ⇒ Gitlab::ObjectifiedHash

Updates a snippet.

Examples:

Gitlab.edit_snippet(42, 34, { file_name: 'README.txt' })

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • id (Integer)

    The ID of a snippet.

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :title (String)

    The title of a snippet.

  • :file_name (String)

    The name of a snippet file.

  • :code (String)

    The content of a snippet.

  • :lifetime (String)

    The expiration date of a snippet.

  • :visibility (String) — default: optional

    The visibility of a snippet

Returns:

 64 65 66
# File 'lib/gitlab/client/snippets.rb', line 64 def edit_snippet(project, id, options = {}) put("/projects/#{url_encode project}/snippets/#{id}", body: options) end

#snippet(project, id) ⇒ Gitlab::ObjectifiedHash

Gets information about a snippet.

Examples:

Gitlab.snippet(2, 14)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • id (Integer)

    The ID of a snippet.

Returns:

 29 30 31
# File 'lib/gitlab/client/snippets.rb', line 29 def snippet(project, id) get("/projects/#{url_encode project}/snippets/#{id}") end

#snippet_content(project, id) ⇒ Gitlab::ObjectifiedHash

Returns raw project snippet content as plain text.

Examples:

Gitlab.snippet_content(2, 14)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • id (Integer)

    The ID of a snippet.

Returns:

 88 89 90 91 92 93
# File 'lib/gitlab/client/snippets.rb', line 88 def snippet_content(project, id) get("/projects/#{url_encode project}/snippets/#{id}/raw", format: nil, headers: { Accept: 'text/plain' }, parser: ::Gitlab::Request::Parser) end

#snippets(project, options = {}) ⇒ Gitlab::ObjectifiedHash

Gets a list of project’s snippets.

Examples:

Gitlab.snippets(42)

Parameters:

  • project (Integer, String)

    The ID or name of a project.

  • options (Hash) (defaults to: {})

    A customizable set of options.

Options Hash (options):

  • :page (Integer)

    The page number.

  • :per_page (Integer)

    The number of results per page.

Returns:

 17 18 19
# File 'lib/gitlab/client/snippets.rb', line 17 def snippets(project, options = {}) get("/projects/#{url_encode project}/snippets", query: options) end