mirror of
https://github.com/Growstuff/growstuff.git
synced 2026-05-18 21:56:55 -04:00
Merge pull request #1215 from Br3nda/likeable-dry
Likeable even more dry
This commit is contained in:
@@ -6,26 +6,14 @@ class LikesController < ApplicationController
|
||||
@like = Like.new(member: current_member, likeable: find_likeable)
|
||||
return failed(@like, message: 'Unable to like') unless @like.likeable && @like.save
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to @like.likeable }
|
||||
format.json do
|
||||
render(json: render_json(@like, liked_by_member: true),
|
||||
status: :created)
|
||||
end
|
||||
end
|
||||
success(@like, liked_by_member: true, status_code: :created)
|
||||
end
|
||||
|
||||
def destroy
|
||||
@like = Like.find_by(id: params[:id], member: current_member)
|
||||
return failed(@like, message: 'Unable to unlike') unless @like && @like.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to @like.likeable }
|
||||
format.json do
|
||||
render(json: render_json(@like, liked_by_member: false),
|
||||
status: :ok)
|
||||
end
|
||||
end
|
||||
success(@like, liked_by_member: false, status_code: :ok)
|
||||
end
|
||||
|
||||
private
|
||||
@@ -43,6 +31,16 @@ class LikesController < ApplicationController
|
||||
}
|
||||
end
|
||||
|
||||
def success(like, liked_by_member: nil, status_code: nil)
|
||||
respond_to do |format|
|
||||
format.html { redirect_to like.likeable }
|
||||
format.json do
|
||||
render(json: render_json(like, liked_by_member: liked_by_member),
|
||||
status: status_code)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def failed(like, message)
|
||||
respond_to do |format|
|
||||
format.json { render(json: { 'error': message }, status: :forbidden) }
|
||||
|
||||
Reference in New Issue
Block a user