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.
23 lines
374 B
Ruby
23 lines
374 B
Ruby
class Shared::ModerationActionsComponent < ApplicationComponent
|
|
attr_reader :record
|
|
use_helpers :can?
|
|
|
|
def initialize(record)
|
|
@record = record
|
|
end
|
|
|
|
def render?
|
|
can?(:hide, record) || can?(:hide, author)
|
|
end
|
|
|
|
private
|
|
|
|
def author
|
|
record.author
|
|
end
|
|
|
|
def hide_path
|
|
polymorphic_path([:moderation, record], action: :hide)
|
|
end
|
|
end
|