class FrenchToast::Notifier
Attributes
session_key[R]
Public Class Methods
new(session_key)
click to toggle source
# File lib/french_toast/notifier.rb, line 3 def initialize(session_key) @session_key = session_key end
Public Instance Methods
notify(partial_name)
click to toggle source
# File lib/french_toast/notifier.rb, line 7 def notify(partial_name) processed_payload = process(partial_name) store(processed_payload) notify_by_action_cable(processed_payload) end
Private Instance Methods
notify_by_action_cable(payload)
click to toggle source
# File lib/french_toast/notifier.rb, line 21 def notify_by_action_cable(payload) ActionCable.server.broadcast(session_key, payload.html_safe) end
process(partial_name)
click to toggle source
# File lib/french_toast/notifier.rb, line 17 def process(partial_name) ApplicationController.render(partial: "french_toast/#{partial_name}") end
store(payload)
click to toggle source
# File lib/french_toast/notifier.rb, line 25 def store(payload) LastNotification.find_or_create_by( session: session_key, ).tap do |notification| notification.update(data: payload) end end