Extract methods in votes components
This way we can make the view code a bit easier to read. We're also changing the order of the conditions a little bit so we only check for the presence of a current user once. To make sure we aren't breaking anything with these changes, we're adding some tests. We're also replacing one system test checking content with a component test, since component tests are much faster.
This commit is contained in:
@@ -10,4 +10,18 @@ class Proposals::VotesComponent < ApplicationComponent
|
||||
def vote_url
|
||||
@vote_url || vote_proposal_path(proposal, value: "yes")
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def voted?
|
||||
current_user&.voted_for?(proposal)
|
||||
end
|
||||
|
||||
def can_vote?
|
||||
proposal.votable_by?(current_user)
|
||||
end
|
||||
|
||||
def organization?
|
||||
current_user&.organization?
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user