Class: RailsPulse::DeploymentsController
Instance Method Summary
collapse
#set_global_filters, #set_time_range
#set_pagination_limit
Instance Method Details
#create ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'app/controllers/rails_pulse/deployments_controller.rb', line 6
def create
deployment = RailsPulse::Deployment.new(
revision: deployment_params[:revision],
started_at: deployment_params[:started_at].presence || Time.current,
finished_at: deployment_params[:finished_at].presence,
metadata: deployment_params[:metadata]&.to_json
)
if deployment.save
render json: { status: "created", id: deployment.id, revision: deployment.revision,
started_at: deployment.started_at, finished_at: deployment.finished_at }, status: :created
else
render json: { status: "error", errors: deployment.errors.full_messages },
status: :unprocessable_content
end
end
|
#finish ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
# File 'app/controllers/rails_pulse/deployments_controller.rb', line 23
def finish
deployment = RailsPulse::Deployment
.where(revision: finish_params[:revision])
.order(started_at: :desc)
.first
return render json: { status: "error", error: "Deployment not found" }, status: :not_found unless deployment
deployment.finished_at = finish_params[:finished_at].presence || Time.current
if deployment.save
render json: { status: "updated", id: deployment.id, revision: deployment.revision,
started_at: deployment.started_at, finished_at: deployment.finished_at }
else
render json: { status: "error", errors: deployment.errors.full_messages },
status: :unprocessable_content
end
end
|