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
28 lines
819 B
Ruby
28 lines
819 B
Ruby
class FollowsController < ApplicationController
|
|
before_action :authenticate_user!
|
|
load_and_authorize_resource
|
|
|
|
def create
|
|
@follow = Follow.create!(user: current_user, followable: find_followable)
|
|
flash.now[:notice] = t("shared.followable.#{followable_translation_key(@follow.followable)}.create.notice")
|
|
render :refresh_follow_button
|
|
end
|
|
|
|
def destroy
|
|
@follow = Follow.find(params[:id])
|
|
@follow.destroy!
|
|
flash.now[:notice] = t("shared.followable.#{followable_translation_key(@follow.followable)}.destroy.notice")
|
|
render :refresh_follow_button
|
|
end
|
|
|
|
private
|
|
|
|
def find_followable
|
|
params[:followable_type].constantize.find(params[:followable_id])
|
|
end
|
|
|
|
def followable_translation_key(followable)
|
|
followable.class.name.parameterize(separator: "_")
|
|
end
|
|
end
|