Class: ActiveAdmin::Chat::BaseChannel

Inherits:
ApplicationCable::Channel
  • Object
show all
Defined in:
app/channels/active_admin/chat/base_channel.rb

Direct Known Subclasses

AdminChannel, UserChannel

Instance Method Summary collapse

Instance Method Details

#speak(data) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/channels/active_admin/chat/base_channel.rb', line 8

def speak(data)
  message = conversation.public_send(
    ActiveAdmin::Chat.message_relation_name.pluralize
  ).create!(
    sender: current_user,
    content: data['message']
  )

  message = ActiveAdmin::Chat::MessagePresenter.new(message)
  ActiveAdmin::Chat::AdminChannel.broadcast_to(conversation, message)
  ActiveAdmin::Chat::UserChannel.broadcast_to(conversation, message)
end

#subscribedObject



4
5
6
# File 'app/channels/active_admin/chat/base_channel.rb', line 4

def subscribed
  conversation ? stream_for(conversation) : reject
end