class Slack::RealTime::Stores::Store

Stores everything.

def initialize(attrs)

def initialize(attrs)
  if attrs.team
    @team_id = attrs.team.id
    @teams = { @team_id => Slack::RealTime::Models::Team.new(attrs.team) }
  else
    @teams = {}
  end
  if attrs.self
    @self_id = attrs.self.id
    @users = { @self_id => Slack::RealTime::Models::User.new(attrs.self) }
  else
    @users = {}
  end
  attrs.users.each do |data|
    user = Models::User.new(data)
    @users[data.id] = @users.key?(data.id) ? @users[data.id].merge(user) : user
  end if attrs.users
  @channels = {}
  attrs.channels.each do |data|
    @channels[data.id] = Models::Channel.new(data)
  end if attrs.channels
  @bots = {}
  attrs.bots.each do |data|
    @bots[data.id] = Models::Bot.new(data)
  end if attrs.bots
  @groups = {}
  attrs.groups.each do |data|
    @groups[data.id] = Models::Group.new(data)
  end if attrs.groups
  @ims = {}
  attrs.ims.each do |data|
    @ims[data.id] = Models::Im.new(data)
  end if attrs.ims
end

def self

def self
  users[@self_id]
end

def team

def team
  teams[@team_id]
end