Class: RigidWorkflow::ApplicationController
- Inherits:
-
Object
- Object
- RigidWorkflow::ApplicationController
show all
- Includes:
- LocalTimeHelper
- Defined in:
- app/controllers/rigid_workflow/application_controller.rb
Overview
Base controller for RigidWorkflow admin interface. Inherits from the configured admin controller and provides shared functionality.
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.stats_for_ever ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'app/controllers/rigid_workflow/application_controller.rb', line 65
def self.stats_for_ever
ActiveRecord::Base.connection.execute(<<-SQL)
SELECT
r.workflow_class,
COUNT(DISTINCT CASE WHEN r.status = 'completed' THEN r.id END) as completed_runs,
COUNT(DISTINCT CASE WHEN r.status = 'running' THEN r.id END) as active_runs,
COUNT(DISTINCT CASE WHEN r.status = 'pending' THEN r.id END) as pending_runs,
COUNT(DISTINCT CASE WHEN r.status = 'failed' THEN r.id END) as failed_runs,
100.0 * COUNT(DISTINCT CASE WHEN r.status = 'completed' THEN r.id END) /
NULLIF(COUNT(DISTINCT CASE WHEN r.status IN ('completed', 'failed') THEN r.id END), 0) as success_rate,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY (r.finished_at - r.started_at)) as p50_duration
FROM rigid_workflow_runs r
GROUP BY r.workflow_class
SQL
end
|
.unique_workflows_in_ever ⇒ Object
81
82
83
84
85
86
87
88
|
# File 'app/controllers/rigid_workflow/application_controller.rb', line 81
def self.unique_workflows_in_ever
ActiveRecord::Base.connection.execute(<<-SQL)
SELECT
DISTINCT(r.workflow_class)
FROM rigid_workflow_runs r
GROUP BY r.workflow_class
SQL
end
|
Instance Method Details
#default_url_options ⇒ Object
23
24
25
26
27
28
|
# File 'app/controllers/rigid_workflow/application_controller.rb', line 23
def default_url_options
{
host: ENV.fetch("HOST", "localhost"),
protocol: ENV.fetch("PROTOCOL", "http")
}
end
|