module Thor::Actions
Public Instance Methods
ask_editor(initial_text = '', editor = nil)
click to toggle source
launch configured editor to retreive message/string see osdir.com/ml/ruby-talk/2010-06/msg01424.html see gist.github.com/rkumar/456809 see rdoc.info/github/visionmedia/commander/master/Commander/UI.ask_editor
# File lib/thegarage/gitx/extensions/thor.rb, line 19 def ask_editor(initial_text = '', editor = nil) editor ||= ENV['EDITOR'] || 'vi' Tempfile.open('comment.md') do |f| f << initial_text f.flush flags = case editor when 'mate', 'emacs', 'subl' '-w' when 'mvim' '-f' else '' end pid = fork { exec([editor, flags, f.path].join(' ')) } Process.waitpid(pid) File.read(f.path) end end
run_cmd(cmd, options = {})
click to toggle source
execute a shell command and raise an error if non-zero exit code is returned return the string output from the command
# File lib/thegarage/gitx/extensions/thor.rb, line 7 def run_cmd(cmd, options = {}) say "$ #{cmd}" output = `#{cmd}` success = $CHILD_STATUS.to_i == 0 fail "#{cmd} failed" unless success || options[:allow_failure] output end