We were very inconsistent regarding these rules. Personally I prefer no empty lines around blocks, clases, etc... as recommended by the Ruby style guide [1], and they're the default values in rubocop, so those are the settings I'm applying. The exception is the `private` access modifier, since we were leaving empty lines around it most of the time. That's the default rubocop rule as well. Personally I don't have a strong preference about this one. [1] https://rubystyle.guide/#empty-lines-around-bodies
42 lines
1.4 KiB
Ruby
42 lines
1.4 KiB
Ruby
class Officing::VotersController < Officing::BaseController
|
|
respond_to :html, :js
|
|
|
|
before_action :load_officer_assignment
|
|
before_action :verify_officer_assignment
|
|
before_action :verify_booth
|
|
|
|
def new
|
|
@user = User.find(params[:id])
|
|
@polls = current_booth.polls.current
|
|
end
|
|
|
|
def create
|
|
@poll = Poll.find(voter_params[:poll_id])
|
|
@user = User.find(voter_params[:user_id])
|
|
@voter = Poll::Voter.new(document_type: @user.document_type,
|
|
document_number: @user.document_number,
|
|
user: @user,
|
|
poll: @poll,
|
|
origin: "booth",
|
|
officer: current_user.poll_officer,
|
|
booth_assignment: Poll::BoothAssignment.where(poll: @poll, booth: current_booth).first,
|
|
officer_assignment: officer_assignment(@poll))
|
|
@voter.save!
|
|
end
|
|
|
|
private
|
|
|
|
def voter_params
|
|
params.require(:voter).permit(:poll_id, :user_id)
|
|
end
|
|
|
|
def officer_assignment(poll)
|
|
Poll::OfficerAssignment.by_officer(current_user.poll_officer)
|
|
.by_poll(poll)
|
|
.by_booth(current_booth)
|
|
.by_date(Date.current)
|
|
.where(final: false)
|
|
.first
|
|
end
|
|
end
|