class Komonjo::Gateway::MessagesGateway
Merge history and users
Attributes
emojis[R]
history[R]
users[R]
Public Class Methods
new(history, users, emojis)
click to toggle source
# File lib/komonjo/gateways/messages_gateway.rb, line 10 def initialize(history, users, emojis) @history = history.map { |e| Hash[e.symbolize_keys] } @users = users.map do |e| h = Hash[e.symbolize_keys] h[:profile] = Hash[h[:profile].symbolize_keys] Komonjo::Model::User.create(h) end @emojis = emojis.map do |(name, url)| Komonjo::Model::Emoji.create(name, url) end end
Public Instance Methods
messages()
click to toggle source
# File lib/komonjo/gateways/messages_gateway.rb, line 22 def messages history.map do |e| next e unless e[:user] Komonjo::Model::Message.create(e).tap do |message| message.user = find_user(e[:user]) message.text = CGI.unescapeHTML(message.text) message.partial_messages.each do |e| e.embed(embed_data) end end end end
Private Instance Methods
embed_data()
click to toggle source
# File lib/komonjo/gateways/messages_gateway.rb, line 43 def embed_data @embed_data ||= { users: users, emojis: emojis, } end
find_user(user_id)
click to toggle source
# File lib/komonjo/gateways/messages_gateway.rb, line 37 def find_user(user_id) @users.find { |e| e.id == user_id }.tap do |e| raise "unknown user: #{user_id}" unless e end end