Module: SessionManagementMethods

Included in:
Inform::IO::Session
Defined in:
lib/story_teller/session.rb

Overview

The SessionManagementMethods module

Defined Under Namespace

Classes: Registry

Constant Summary collapse

SessionsByChannel =
Registry.new

Instance Method Summary collapse

Instance Method Details

#[](channel) ⇒ Object



42
43
44
# File 'lib/story_teller/session.rb', line 42

def [](channel)
  sessions_by_channel[channel]
end

#[]=(channel, session) ⇒ Object



46
47
48
# File 'lib/story_teller/session.rb', line 46

def []=(channel, session)
  sessions_by_channel[channel] = session
end

#add_promiscuous_states(*states) ⇒ Object



26
27
28
# File 'lib/story_teller/session.rb', line 26

def add_promiscuous_states(*states)
  Promiscuous.merge states.flatten
end

#get(channel) ⇒ Object



54
55
56
# File 'lib/story_teller/session.rb', line 54

def get(channel)
  sessions_by_channel[channel] ||= Session.new(channel)
end

#include?(channel) ⇒ Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/story_teller/session.rb', line 50

def include?(channel)
  sessions_by_channel.include?(channel)
end

#register(channel, session) ⇒ Object



34
35
36
# File 'lib/story_teller/session.rb', line 34

def register(channel, session)
  sessions_by_channel[channel] = session
end

#sessions_by_channelObject



30
31
32
# File 'lib/story_teller/session.rb', line 30

def sessions_by_channel
  SessionsByChannel
end

#unregister(channel) ⇒ Object



38
39
40
# File 'lib/story_teller/session.rb', line 38

def unregister(channel)
  sessions_by_channel.delete(channel)
end