class Chid::Commands::Tmux::Open
Public Instance Methods
run()
click to toggle source
# File lib/chid/commands/tmux/open.rb, line 34 def run template_name = template_name_from_options template_name = select_template if template_name.empty? open_template(template_name) end
Private Instance Methods
chid_config()
click to toggle source
# File lib/chid/commands/tmux/open.rb, line 58 def chid_config ::ChidConfig.new end
open_template(template_name)
click to toggle source
# File lib/chid/commands/tmux/open.rb, line 74 def open_template(template_name) puts "\nOpening Template #{template_name}" commands = templates[template_name.to_sym] exist_tmux_session = system("tmux ls | grep -c #{template_name}") if exist_tmux_session system("tmux attach -t #{template_name}") else system(commands.join('').gsub('$$template_name$$', template_name.to_s)) end end
select_template()
click to toggle source
# File lib/chid/commands/tmux/open.rb, line 66 def select_template prompt = TTY::Prompt.new choices = templates.keys.map(&:to_s) selected_template = prompt.select('Choose a template to open', choices) selected_template end
template_name_from_options()
click to toggle source
Returns the template name mapped from the values of the options attribute. Will remove all nil values and join the array of values into String
@return [String] Mapped values from options attribute
If the options does not exist, will return empty String #=> ""
@example Template Name
options = {'-name' => ['base', 'two']} template_name #=> 'base two'
# File lib/chid/commands/tmux/open.rb, line 54 def template_name_from_options @template_name ||= self.class.arguments.map { |a| options[a] }.compact.join(' ') end
templates()
click to toggle source
# File lib/chid/commands/tmux/open.rb, line 62 def templates @templates ||= chid_config.all_tmux_templates end