module ChatService
Public Instance Methods
create_message(chat, content, user)
click to toggle source
# File lib/templates/chat/chat_service.rb, line 3 def create_message(chat, content, user) message = user.messages.create!(chat: chat, content: content) chat.messages << message chat.save! broadcast_message(chat, message) message end
Private Instance Methods
broadcast_message(chat, message)
click to toggle source
# File lib/templates/chat/chat_service.rb, line 13 def broadcast_message(chat, message) message_data = form_message_data(message) ChatChannel.broadcast_to(chat, message_data) end
form_message_data(message)
click to toggle source
# File lib/templates/chat/chat_service.rb, line 18 def form_message_data(message) user = message.user { action: 'new_message', content: message.content, user: user.username, user_id: user.id, date: Time.zone.now.iso8601 } end