Sha256: 78cc08e3c6d7203ef199c0bc98062decdcf3d3a376b814f9b5ed3cea5a49628c
Contents?: true
Size: 992 Bytes
Versions: 3
Compression:
Stored size: 992 Bytes
Contents
module Teamocil class Layout # This class represents a session within tmux class Session attr_reader :options, :windows, :name # Initialize a new tmux session # # @param options [Hash] the options, mostly passed by the CLI # @param attrs [Hash] the session data from the layout file def initialize(options, attrs={}) raise Teamocil::Error::LayoutError.new("You must specify a `windows` or `session` key for your layout.") unless attrs["windows"] @name = attrs["name"] || "teamocil-session" @windows = attrs["windows"].each_with_index.map { |window, window_index| Window.new(self, window_index, window) } @options = options end # Generate commands to send to tmux # # @return [Array] def generate_commands commands = [] commands << "tmux rename-session \"#{@name}\"" unless @name.nil? commands << @windows.map(&:generate_commands) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
teamocil-0.4.2 | lib/teamocil/layout/session.rb |
teamocil-0.4.1 | lib/teamocil/layout/session.rb |
teamocil-0.4 | lib/teamocil/layout/session.rb |