The `use_helpers` method was added in ViewComponent 3.8.0, and it's included by default in all components since version 3.11.0. Note we sometimes delegated the `can?` method to the controller instead of the helpers, for no particularly reason. We're unifying that code as well.
27 lines
554 B
Ruby
27 lines
554 B
Ruby
class Budgets::SupportsInfoComponent < ApplicationComponent
|
|
use_helpers :current_user
|
|
attr_reader :budget
|
|
|
|
def initialize(budget)
|
|
@budget = budget
|
|
end
|
|
|
|
def render?
|
|
budget.selecting?
|
|
end
|
|
|
|
private
|
|
|
|
def support_info_heading
|
|
if current_user
|
|
sanitize(t("budgets.supports_info.supported", count: total_supports))
|
|
else
|
|
sanitize(t("budgets.supports_info.supported_not_logged_in"))
|
|
end
|
|
end
|
|
|
|
def total_supports
|
|
Vote.where(votable: budget.investments, voter: current_user).count
|
|
end
|
|
end
|