summaryrefslogtreecommitdiff
path: root/lib/api/projects.rb
diff options
context:
space:
mode:
authorAlex Denisov <1101.debian@gmail.com>2012-09-16 19:51:04 +0300
committerAlex Denisov <1101.debian@gmail.com>2012-09-16 19:51:04 +0300
commit549c4c2202307608773a10d8ce9a7dc978537de4 (patch)
treedfaee2e6f03e4f3c84878f5ae9323bfade7f5bac /lib/api/projects.rb
parentcaef9ed1121a16ca0cc78715695daaa974271bfd (diff)
downloadgitlab-ce-549c4c2202307608773a10d8ce9a7dc978537de4.tar.gz
API attributes refactored
Diffstat (limited to 'lib/api/projects.rb')
-rw-r--r--lib/api/projects.rb38
1 files changed, 18 insertions, 20 deletions
diff --git a/lib/api/projects.rb b/lib/api/projects.rb
index cf23dc5f538..4a2634720eb 100644
--- a/lib/api/projects.rb
+++ b/lib/api/projects.rb
@@ -40,13 +40,16 @@ module Gitlab
post do
params[:code] ||= params[:name]
params[:path] ||= params[:name]
- project_attrs = {}
- params.each_pair do |k ,v|
- if Project.attribute_names.include? k
- project_attrs[k] = v
- end
- end
- @project = Project.create_by_user(project_attrs, current_user)
+ attrs = existed_attributes [:code,
+ :path,
+ :name,
+ :description,
+ :default_branch,
+ :issues_enabled,
+ :wall_enabled,
+ :merge_requests_enabled,
+ :wiki_enabled]
+ @project = Project.create_by_user(attrs, current_user)
if @project.saved?
present @project, with: Entities::Project
else
@@ -204,12 +207,10 @@ module Gitlab
# Example Request:
# POST /projects/:id/snippets
post ":id/snippets" do
- @snippet = user_project.snippets.new(
- title: params[:title],
- file_name: params[:file_name],
- expires_at: params[:lifetime],
- content: params[:code]
- )
+ attrs = existed_attributes [:title, :file_name]
+ attrs[:expires_at] = params[:lifetime] if params[:lifetime].present?
+ attrs[:content] = params[:code] if params[:code].present?
+ @snippet = user_project.snippets.new attrs
@snippet.author = current_user
if @snippet.save
@@ -234,14 +235,11 @@ module Gitlab
@snippet = user_project.snippets.find(params[:snippet_id])
authorize! :modify_snippet, @snippet
- 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)
- }
+ attrs = existed_attributes [:title, :file_name]
+ attrs[:expires_at] = params[:lifetime] if params[:lifetime].present?
+ attrs[:content] = params[:code] if params[:code].present?
- if @snippet.update_attributes(parameters)
+ if @snippet.update_attributes attrs
present @snippet, with: Entities::ProjectSnippet
else
not_found!