Skip to content

Instantly share code, notes, and snippets.

@michalkorzawski
Created September 5, 2022 20:14
Show Gist options
  • Save michalkorzawski/7cf6e965441a6b399df105109011d7e5 to your computer and use it in GitHub Desktop.
Save michalkorzawski/7cf6e965441a6b399df105109011d7e5 to your computer and use it in GitHub Desktop.
# app/jobs/update_leaderboard_job.rb
class UpdateLeaderboardJob < ApplicationJob
queue_as :default
delegate :render, to: :ApplicationController
include CableReady::Broadcaster
def perform
scores = ServiceForFetchingScores.fetch
cable_ready[LeaderboardChannel].morph(
selector: '#id-of-a-leaderboard-container',
html: render(Leaderboards.new(scores: scores), layout: false) #render ViewComponent
).broadcast_to('scores')
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment