Sha256: efda1f530cfc2e8bac67112fced6f43bbb7538adf7b33235dd8a9053161570e0

Contents?: true

Size: 523 Bytes

Versions: 5

Compression:

Stored size: 523 Bytes

Contents

module Cubism::Presence
  extend ActiveSupport::Concern

  included do
    kredis_set :present_users, after_change: :stream_presence
    kredis_set :cubicle_element_ids
    kredis_hash :excluded_user_id_for_element_id
  end

  def stream_presence
    Cubism::Broadcaster.new(resource: self).broadcast
  end

  def present_users_for_element_id(element_id)
    users = Cubism.user_class.find(present_users.members)
    users.reject! { |user| user.id == excluded_user_id_for_element_id[element_id].to_i }

    users
  end
end

Version data entries

5 entries across 4 versions & 1 rubygems

Version Path
cubism-0.1.0.pre12 app/models/concerns/cubism/presence.rb~
cubism-0.1.0.pre11 app/models/concerns/cubism/presence.rb
cubism-0.1.0.pre11 app/models/concerns/cubism/presence.rb~
cubism-0.1.0.pre10 app/models/concerns/cubism/presence.rb
cubism-0.1.0.pre9 app/models/concerns/cubism/presence.rb