Files
grecia/app/components/polls/poll_component.rb

41 lines
819 B
Ruby

class Polls::PollComponent < ApplicationComponent
attr_reader :poll
use_helpers :can?
def initialize(poll)
@poll = poll
end
private
def dates
t("polls.dates", open_at: l(poll.starts_at.to_date), closed_at: l(poll.ends_at.to_date))
end
def header_text
if poll.questions.one?
poll.questions.first.title
else
poll.name
end
end
def link_text
if poll.expired?
t("polls.index.participate_button_expired")
else
t("polls.index.participate_button")
end
end
def path
if can?(:results, poll)
results_poll_path(id: poll.slug || poll.id)
elsif can?(:stats, poll)
stats_poll_path(id: poll.slug || poll.id)
else
poll_path(id: poll.slug || poll.id)
end
end
end