module TrainSH::Mixin::Sessions
Public Instance Methods
current_session()
click to toggle source
# File lib/trainsh/mixin/sessions.rb, line 35 def current_session @sessions[current_session_id] end
current_session_id()
click to toggle source
# File lib/trainsh/mixin/sessions.rb, line 31 def current_session_id @current_session_id ||= 0 end
session(session_id = current_session_id)
click to toggle source
# File lib/trainsh/mixin/sessions.rb, line 22 def session(session_id = current_session_id) @sessions[session_id] end
sessions()
click to toggle source
?
# File lib/trainsh/mixin/sessions.rb, line 27 def sessions (0..@sessions.count - 1).to_a end
use_session(url)
click to toggle source
# File lib/trainsh/mixin/sessions.rb, line 6 def use_session(url) @sessions = [] if @sessions.nil? existing_id = @sessions.index { |session| session.url == url } if existing_id.nil? @current_session_id = @sessions.count @sessions << TrainSH::Session.new(url) else @current_session_id = existing_id end rescue Train::PluginLoadError say format('No Train plugin found for url %<url>s', url: url).red nil end
validate_session_id(session_id)
click to toggle source
# File lib/trainsh/mixin/sessions.rb, line 39 def validate_session_id(session_id) unless session_id.match?(/^[0-9]+$/) say 'Expected session id to be numeric'.red return end if @sessions[session_id.to_i].nil? say format('No session id [%s] found', session_id).red return end session_id.to_i end