class Mucks::SessionConfig
Attributes
session_names[R]
sessions[R]
Public Class Methods
new(path)
click to toggle source
Calls superclass method
Mucks::BaseConfig::new
# File lib/mucks/mucks.rb, line 79 def initialize(path) super @sessions = unique_sessions.map do |session_name| SessionElement.new session_name, @config[session_name] end @session_names = Set.new @config.each do |k, v| @session_names << k end end
Public Instance Methods
layouts()
click to toggle source
# File lib/mucks/mucks.rb, line 92 def layouts @sessions.map do |session| session.layout end.uniq end
remove_by_layout(layout_name)
click to toggle source
# File lib/mucks/mucks.rb, line 98 def remove_by_layout(layout_name) @sessions.reject! do |session| session.layout == layout_name end end
Private Instance Methods
get_sessions_for(session_name)
click to toggle source
# File lib/mucks/mucks.rb, line 112 def get_sessions_for(session_name) session_config = @config[session_name] case session_config when Array session_config.map do |sess_name| get_sessions_for sess_name end when Hash session_name else puts "Invalid session selected: #{session_name}" nil end end
unique_sessions()
click to toggle source
# File lib/mucks/mucks.rb, line 106 def unique_sessions Config.sessions.map do |session_name| get_sessions_for(session_name) end.flatten.uniq.compact end