app/components/budgets/phases_component.rb
class Budgets::PhasesComponent < ApplicationComponent
use_helpers :wysiwyg, :auto_link_already_sanitized_html
attr_reader :budget
def initialize(budget)
@budget = budget
end
private
def phases
budget.published_phases
end
def start_date(phase)
time_tag(phase.starts_at.to_date, format: :long) if phase.starts_at.present?
end
def end_date(phase)
time_tag(phase.ends_at.to_date - 1.day, format: :long) if phase.ends_at.present?
end
def phase_dom_id(phase)
"phase-#{phases.index(phase) + 1}-#{phase.name.parameterize}"
end
def prev_phase_dom_id(phase)
phase_dom_id(phases[phases.index(phase) - 1])
end
def next_phase_dom_id(phase)
phase_dom_id(phases[phases.index(phase) + 1])
end
end