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' })

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.



43
44
45
# File 'lib/gitlab/client/snippets.rb', line 43

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)


72
73
74
# File 'lib/gitlab/client/snippets.rb', line 72

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' })

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.



60
61
62
# File 'lib/gitlab/client/snippets.rb', line 60

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)


27
28
29
# File 'lib/gitlab/client/snippets.rb', line 27

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)


84
85
86
87
88
89
# File 'lib/gitlab/client/snippets.rb', line 84

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)

Options Hash (options):

  • :page (Integer)

    The page number.

  • :per_page (Integer)

    The number of results per page.



15
16
17
# File 'lib/gitlab/client/snippets.rb', line 15

def snippets(project, options={})
  get("/projects/#{url_encode project}/snippets", query: options)
end