Module: ApplicationHelper
- Defined in:
- app/helpers/application_helper.rb
Instance Method Summary collapse
- #deployment_percent(deployment) ⇒ Object
- #duration_text(seconds) ⇒ Object
- #in_progress ⇒ Object
- #last_successful_duration(deployment) ⇒ Object
- #progress_classes(deployment) ⇒ Object
- #recent_failures ⇒ Object
- #time_remaining(deployment) ⇒ Object
Instance Method Details
#deployment_percent(deployment) ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/helpers/application_helper.rb', line 31 def deployment_percent(deployment) lsd = last_successful_duration(deployment) if !lsd return 100 elsif !deployment.started? return 0 elsif deployment.duration > lsd return 100 else return deployment.duration * 100 / lsd end end |
#duration_text(seconds) ⇒ Object
59 60 61 62 63 64 65 66 67 68 |
# File 'app/helpers/application_helper.rb', line 59 def duration_text(seconds) minutes = (seconds / 60.floor) seconds %= 60 string = "" string << "#{minutes}m " if minutes string << "#{seconds}s" string end |
#in_progress ⇒ Object
7 8 9 |
# File 'app/helpers/application_helper.rb', line 7 def in_progress @in_progress ||= Deployment.in_progress.all end |
#last_successful_duration(deployment) ⇒ Object
11 12 13 14 |
# File 'app/helpers/application_helper.rb', line 11 def last_successful_duration(deployment) deployment.environment.last_successful_deployment && deployment.environment.last_successful_deployment.duration end |
#progress_classes(deployment) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'app/helpers/application_helper.rb', line 16 def progress_classes(deployment) lsd = last_successful_duration(deployment) ["progress", "progress-striped"].tap do |classes| if !lsd classes << "progress-warning" elsif !deployment.started? elsif deployment.duration > lsd classes << "progress-danger" else classes << "progress-success" end classes << "active" unless deployment.completed? end end |
#recent_failures ⇒ Object
3 4 5 |
# File 'app/helpers/application_helper.rb', line 3 def recent_failures @recent_failures ||= Environment.includes(:last_deployment).map(&:last_deployment).compact.select(&:failed?) end |
#time_remaining(deployment) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/helpers/application_helper.rb', line 44 def time_remaining(deployment) if last_successful_deployment = deployment.environment.last_successful_deployment time_remaining = last_successful_deployment.duration - deployment.duration if time_remaining < 0 "unknown" elsif time_remaining < 60 "< 1 minute" else pluralize((time_remaining / 60).round, 'minute') end else "unknown" end end |