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
31 lines
803 B
Ruby
31 lines
803 B
Ruby
module Budgets
|
|
class BallotsController < ApplicationController
|
|
before_action :authenticate_user!
|
|
before_action :load_budget
|
|
load_and_authorize_resource :budget
|
|
before_action :load_ballot
|
|
after_action :store_referer, only: [:show]
|
|
|
|
def show
|
|
authorize! :show, @ballot
|
|
session[:ballot_referer] = request.referer
|
|
render template: "budgets/ballot/show"
|
|
end
|
|
|
|
private
|
|
|
|
def load_budget
|
|
@budget = Budget.find_by_slug_or_id! params[:budget_id]
|
|
end
|
|
|
|
def load_ballot
|
|
query = Budget::Ballot.where(user: current_user, budget: @budget)
|
|
@ballot = @budget.balloting? ? query.first_or_create! : query.first_or_initialize
|
|
end
|
|
|
|
def store_referer
|
|
session[:ballot_referer] = request.referer
|
|
end
|
|
end
|
|
end
|