Sha256: 201ed2c7165f42f9b829f6c75afb36e880a4a8edca7c940ad90fc802ba4dc91c
Contents?: true
Size: 1.2 KB
Versions: 16
Compression:
Stored size: 1.2 KB
Contents
class TestTrack::WebSessionVisitorRepository attr_reader :current_identity, :unauthenticated_visitor_id def initialize(current_identity:, unauthenticated_visitor_id:) @current_identity = current_identity @unauthenticated_visitor_id = unauthenticated_visitor_id end def current if current_identity for_identity(current_identity) else unauthenticated end end def for_identity(identity) identity_visitor_map[identity] ||= TestTrack::LazyVisitorByIdentity.new(identity) end def forget_unauthenticated! @unauthenticated = TestTrack::Visitor.new end def authenticate!(identity) @current_identity = identity identity_visitor_map[identity] = unauthenticated unauthenticated.link_identity!(identity) end def all identity_visitor_map.values.to_set << current end def notify_unsynced_assignments! all.each do |visitor| TestTrack::ThreadedVisitorNotifier.new(visitor).notify if visitor.loaded? && visitor.unsynced_assignments.present? end end private def unauthenticated @unauthenticated ||= TestTrack::Visitor.new(id: unauthenticated_visitor_id) end def identity_visitor_map @identity_visitor_map ||= {} end end
Version data entries
16 entries across 16 versions & 1 rubygems