Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
61910eb8
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
61910eb8
编写于
7月 04, 2012
作者:
N
Nihad Abbasov
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ability to update and get a raw snippet via API
上级
fbd559d4
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
59 addition
and
1 deletion
+59
-1
lib/api/projects.rb
lib/api/projects.rb
+41
-0
spec/api/projects_spec.rb
spec/api/projects_spec.rb
+18
-1
未找到文件。
lib/api/projects.rb
浏览文件 @
61910eb8
...
...
@@ -86,6 +86,34 @@ module Gitlab
end
end
# Update an existing project snippet
#
# Parameters:
# id (required) - The code name of a project
# snippet_id (required) - The ID of a project snippet
# title (optional) - The title of a snippet
# file_name (optional) - The name of a snippet file
# lifetime (optional) - The expiration date of a snippet
# code (optional) - The content of a snippet
# Example Request:
# PUT /projects/:id/snippets/:snippet_id
put
":id/snippets/:snippet_id"
do
@project
=
current_user
.
projects
.
find_by_code
(
params
[
:id
])
@snippet
=
@project
.
snippets
.
find
(
params
[
:snippet_id
])
parameters
=
{
:title
=>
(
params
[
:title
]
||
@snippet
.
title
),
:file_name
=>
(
params
[
:file_name
]
||
@snippet
.
file_name
),
:expires_at
=>
(
params
[
:lifetime
]
||
@snippet
.
expires_at
),
:content
=>
(
params
[
:code
]
||
@snippet
.
content
)
}
if
@snippet
.
update_attributes
(
parameters
)
present
@snippet
,
:with
=>
Entities
::
ProjectSnippet
else
error!
({
'message'
=>
'404 Not found'
},
404
)
end
end
# Delete a project snippet
#
# Parameters:
...
...
@@ -98,6 +126,19 @@ module Gitlab
@snippet
=
@project
.
snippets
.
find
(
params
[
:snippet_id
])
@snippet
.
destroy
end
# Get a raw project snippet
#
# Parameters:
# id (required) - The code of a project
# snippet_id (required) - The ID of a project snippet
# Example Request:
# GET /projects/:id/snippets/:snippet_id/raw
get
":id/snippets/:snippet_id/raw"
do
@project
=
current_user
.
projects
.
find_by_code
(
params
[
:id
])
@snippet
=
@project
.
snippets
.
find
(
params
[
:snippet_id
])
present
@snippet
.
content
end
end
end
end
spec/api/projects_spec.rb
浏览文件 @
61910eb8
...
...
@@ -3,7 +3,7 @@ require 'spec_helper'
describe
Gitlab
::
API
do
let
(
:user
)
{
Factory
:user
}
let!
(
:project
)
{
Factory
:project
,
:owner
=>
user
}
let!
(
:snippet
)
{
Factory
:snippet
,
:author
=>
user
,
:project
=>
project
}
let!
(
:snippet
)
{
Factory
:snippet
,
:author
=>
user
,
:project
=>
project
,
:title
=>
'example'
}
before
{
project
.
add_access
(
user
,
:read
)
}
describe
"GET /projects"
do
...
...
@@ -67,6 +67,16 @@ describe Gitlab::API do
end
end
describe
"PUT /projects/:id/snippets"
do
it
"should update an existing project snippet"
do
put
"
#{
api_prefix
}
/projects/
#{
project
.
code
}
/snippets/
#{
snippet
.
id
}
?private_token=
#{
user
.
private_token
}
"
,
:code
=>
'updated code'
response
.
status
.
should
==
200
json_response
[
'title'
].
should
==
'example'
snippet
.
reload
.
content
.
should
==
'updated code'
end
end
describe
"DELETE /projects/:id/snippets/:snippet_id"
do
it
"should create a new project snippet"
do
expect
{
...
...
@@ -74,4 +84,11 @@ describe Gitlab::API do
}.
should
change
{
Snippet
.
count
}.
by
(
-
1
)
end
end
describe
"GET /projects/:id/snippets/:snippet_id/raw"
do
it
"should get a raw project snippet"
do
get
"
#{
api_prefix
}
/projects/
#{
project
.
code
}
/snippets/
#{
snippet
.
id
}
/raw?private_token=
#{
user
.
private_token
}
"
response
.
status
.
should
==
200
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录