AyuntamientoMadrid/participacion

View on GitHub
app/components/budgets/phases_component.rb

Summary

Maintainability
A
0 mins
Test Coverage
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