* Setup Pusher gem * Create ChatChannel and Message model * Create ChatChannelController * Add back fix-db-schema-conflicts gem * Add pusher-js package * Add validations on Message & ChatChannel models * Update Route * Create MessageController * Update ChatChannelController * Create Chat app WIP * Extract messenger render to Message Component * Implement live chat WIP * Implement live chat WIP (2) * Add style and scrollToBottom feature for chat * Create getUserDataAndCsrfToken function * Add feature toggle to the new live chat * Clean up ChatChannelsController & create spec * Update ChatChannel spec * Update Message spec * Create MessagesController spec & refactor * Clean up Chat app * Fix lint * Add character limit to Message
19 lines
381 B
Ruby
19 lines
381 B
Ruby
class Message < ApplicationRecord
|
|
belongs_to :user
|
|
belongs_to :chat_channel
|
|
|
|
validates :message_html, presence: true, length: { maximum: 600 }
|
|
validates :message_markdown, presence: true
|
|
|
|
before_validation :evaluate_markdown
|
|
|
|
def timestamp
|
|
created_at.strftime("%H:%M:%S")
|
|
end
|
|
|
|
private
|
|
|
|
def evaluate_markdown
|
|
self.message_markdown = message_html
|
|
end
|
|
end
|