app/components/budgets/investments_list_component.rb
class Budgets::InvestmentsListComponent < ApplicationComponent
attr_reader :budget
def initialize(budget)
@budget = budget
end
def investments(limit: 9)
case budget.phase
when "accepting", "reviewing"
budget.investments.sample(limit)
when "selecting", "valuating", "publishing_prices"
budget.investments.feasible.sample(limit)
when "balloting", "reviewing_ballots"
budget.investments.selected.sample(limit)
else
budget.investments.none
end
end
def see_all_path
if budget.single_heading?
budget_investments_path(budget)
else
budget_groups_path(budget)
end
end
end