Class: Shipit::Api::MergeRequestsController
- Inherits:
-
BaseController
- Object
- ActionController::Base
- BaseController
- Shipit::Api::MergeRequestsController
show all
- Defined in:
- app/controllers/shipit/api/merge_requests_controller.rb
Constant Summary
Constants included
from Paginable
Paginable::LINK
Instance Method Summary
collapse
require_permission
Methods included from Cacheable
#render_resource, #render_resources
Instance Method Details
#destroy ⇒ Object
30
31
32
33
34
35
|
# File 'app/controllers/shipit/api/merge_requests_controller.rb', line 30
def destroy
if (merge_request = stack.merge_requests.where(number: params[:id]).first) && merge_request.waiting?
merge_request.cancel!
end
head(:no_content)
end
|
#index ⇒ Object
9
10
11
|
# File 'app/controllers/shipit/api/merge_requests_controller.rb', line 9
def index
render_resources(stack.merge_requests.includes(:head).order(id: :desc))
end
|
#show ⇒ Object
13
14
15
|
# File 'app/controllers/shipit/api/merge_requests_controller.rb', line 13
def show
render_resource(stack.merge_requests.find_by!(number: params[:id]))
end
|
#update ⇒ Object
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'app/controllers/shipit/api/merge_requests_controller.rb', line 17
def update
merge_request = MergeRequest.request_merge!(stack, params[:id], current_user)
if merge_request.waiting?
head(:accepted)
elsif merge_request.merged?
render(status: :method_not_allowed, json: {
message: "This pull request was already merged."
})
else
raise "Pull Request is neither waiting nor merged, this should be impossible"
end
end
|