Files
once-campfire/app/controllers/messages/boosts_controller.rb
Kevin McConnell df76a227dc Hello world
First open source release of Campfire 🎉
2025-08-21 09:31:59 +01:00

42 lines
907 B
Ruby

class Messages::BoostsController < ApplicationController
before_action :set_message
def index
end
def new
end
def create
@boost = @message.boosts.create!(boost_params)
broadcast_create
redirect_to message_boosts_url(@message)
end
def destroy
@boost = Current.user.boosts.find(params[:id])
@boost.destroy!
broadcast_remove
end
private
def set_message
@message = Current.user.reachable_messages.find(params[:message_id])
end
def boost_params
params.require(:boost).permit(:content)
end
def broadcast_create
@boost.broadcast_append_to @boost.message.room, :messages,
target: "boosts_message_#{@boost.message.client_message_id}", partial: "messages/boosts/boost", attributes: { maintain_scroll: true }
end
def broadcast_remove
@boost.broadcast_remove_to @boost.message.room, :messages
end
end