Class: ChronoForge::Dashboard::BranchesPresenter::Merge
- Inherits:
-
Struct
- Object
- Struct
- ChronoForge::Dashboard::BranchesPresenter::Merge
- Defined in:
- app/presenters/chrono_forge/dashboard/branches_presenter.rb
Overview
One merge join (a merge$
Instance Attribute Summary collapse
-
#eta_seconds ⇒ Object
Returns the value of attribute eta_seconds.
-
#last_polled_at ⇒ Object
Returns the value of attribute last_polled_at.
-
#names ⇒ Object
Returns the value of attribute names.
-
#next_poll_at ⇒ Object
Returns the value of attribute next_poll_at.
-
#polls ⇒ Object
Returns the value of attribute polls.
-
#rate ⇒ Object
Returns the value of attribute rate.
-
#started_at ⇒ Object
Returns the value of attribute started_at.
-
#state ⇒ Object
Returns the value of attribute state.
Instance Method Summary collapse
- #merging? ⇒ Boolean
-
#poll_overdue? ⇒ Boolean
A next check scheduled in the past while still merging means the poller was dropped (or is overdue) — the join is stuck until it's re-armed.
-
#throughput? ⇒ Boolean
Throughput is a live gauge — only meaningful while merging and actually draining (rate 0.0 means idle; a merged join has no live rate).
Instance Attribute Details
#eta_seconds ⇒ Object
Returns the value of attribute eta_seconds
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def eta_seconds @eta_seconds end |
#last_polled_at ⇒ Object
Returns the value of attribute last_polled_at
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def last_polled_at @last_polled_at end |
#names ⇒ Object
Returns the value of attribute names
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def names @names end |
#next_poll_at ⇒ Object
Returns the value of attribute next_poll_at
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def next_poll_at @next_poll_at end |
#polls ⇒ Object
Returns the value of attribute polls
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def polls @polls end |
#rate ⇒ Object
Returns the value of attribute rate
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def rate @rate end |
#started_at ⇒ Object
Returns the value of attribute started_at
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def started_at @started_at end |
#state ⇒ Object
Returns the value of attribute state
12 13 14 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 12 def state @state end |
Instance Method Details
#merging? ⇒ Boolean
13 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 13 def merging? = state == :merging |
#poll_overdue? ⇒ Boolean
A next check scheduled in the past while still merging means the poller was dropped (or is overdue) — the join is stuck until it's re-armed.
17 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 17 def poll_overdue? = merging? && next_poll_at && next_poll_at.past? |
#throughput? ⇒ Boolean
Throughput is a live gauge — only meaningful while merging and actually draining (rate 0.0 means idle; a merged join has no live rate).
21 |
# File 'app/presenters/chrono_forge/dashboard/branches_presenter.rb', line 21 def throughput? = merging? && rate.to_f > 0 |