Move builds badge implementation to new badges controller

This commit is contained in:
Grzegorz Bizon 2016-02-09 13:10:16 +01:00
parent ee1bee5834
commit 28b11963b1
5 changed files with 19 additions and 14 deletions

View file

@ -0,0 +1,11 @@
class Projects::BadgesController < Projects::ApplicationController
def build
respond_to do |format|
format.html { render_404 }
format.svg do
image = Ci::ImageForBuildService.new.execute(project, ref: params[:ref])
send_file(image.path, filename: image.name, disposition: 'inline', type: 'image/svg+xml')
end
end
end
end

View file

@ -56,16 +56,6 @@ class Projects::BuildsController < Projects::ApplicationController
render json: @build.to_json(only: [:status, :id, :sha, :coverage], methods: :sha)
end
def badge
respond_to do |format|
format.html { render_404 }
format.svg do
image = Ci::ImageForBuildService.new.execute(project, ref: params[:ref])
send_file(image.path, filename: image.name, disposition: 'inline', type: 'image/svg+xml')
end
end
end
private
def build

View file

@ -611,8 +611,6 @@ Rails.application.routes.draw do
resources :builds, only: [:index, :show], constraints: { id: /\d+/ } do
collection do
post :cancel_all
get :badge, path: 'status/*ref/badge',
constraints: { ref: Gitlab::Regex.git_reference_regex, format: /svg/ }
end
member do
@ -699,6 +697,12 @@ Rails.application.routes.draw do
end
resources :runner_projects, only: [:create, :destroy]
resources :badges, only: [], path: 'badges/*ref',
constraints: { ref: Gitlab::Regex.git_reference_regex } do
collection do
get :build, constraints: { format: /svg/ }
end
end
end
end
end

View file

@ -189,7 +189,7 @@ GitLab, such as **Commits** and **Merge Requests**.
You can access a builds badge image using following link:
```
http://example.gitlab.com/namespace/project/builds/status/branch/badge.svg
http://example.gitlab.com/namespace/project/badges/branch/build.svg
```
## Next steps

View file

@ -5,7 +5,7 @@ class Spinach::Features::ProjectBuildsBadge < Spinach::FeatureSteps
include RepoHelpers
step 'I display builds badge for a master branch' do
visit badge_namespace_project_builds_path(@project.namespace, @project, ref: :master, format: :svg)
visit build_namespace_project_badges_path(@project.namespace, @project, ref: :master, format: :svg)
end
step 'I should see a build success badge' do