Class: Komonjo::Gateway::MessagesGateway

Inherits:
Object
  • Object
show all
Defined in:
lib/komonjo/gateways/messages_gateway.rb

Overview

Merge history and users

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(history, users, emojis) ⇒ MessagesGateway

Returns a new instance of MessagesGateway.



10
11
12
13
14
15
16
17
18
19
20
# 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

Instance Attribute Details

#emojisObject (readonly)

Returns the value of attribute emojis.



8
9
10
# File 'lib/komonjo/gateways/messages_gateway.rb', line 8

def emojis
  @emojis
end

#historyObject (readonly)

Returns the value of attribute history.



8
9
10
# File 'lib/komonjo/gateways/messages_gateway.rb', line 8

def history
  @history
end

#usersObject (readonly)

Returns the value of attribute users.



8
9
10
# File 'lib/komonjo/gateways/messages_gateway.rb', line 8

def users
  @users
end

Instance Method Details

#messagesObject



22
23
24
25
26
27
28
29
30
31
32
33
# 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