mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2024-05-11 05:55:17 +00:00 
			
		
		
		
	This commit allows for paths with spaces to be symlinked in Pow. If an application is located in a folder like `/some path/to the/app` the powit command would fail when it shouldn't. It's not the case anymore.
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Restart a rack app running under pow
 | ||
| # http://pow.cx/
 | ||
| #
 | ||
| # Adds a kapow command that will restart an app
 | ||
| #
 | ||
| #   $ kapow myapp
 | ||
| #
 | ||
| # Supports command completion.
 | ||
| #
 | ||
| # If you are not already using completion you might need to enable it with
 | ||
| #
 | ||
| #    autoload -U compinit compinit
 | ||
| #
 | ||
| # Changes:
 | ||
| #
 | ||
| # Defaults to the current application, and will walk up the tree to find
 | ||
| # a config.ru file and restart the corresponding app
 | ||
| #
 | ||
| # Will Detect if a app does not exist in pow and print a (slightly) helpful
 | ||
| # error message
 | ||
| 
 | ||
| rack_root(){
 | ||
|   setopt chaselinks
 | ||
|   local orgdir="$(pwd)"
 | ||
|   local basedir="$(pwd)"
 | ||
| 
 | ||
|   while [[ $basedir != '/' ]]; do
 | ||
|     test -e "$basedir/config.ru" && break
 | ||
|     builtin cd ".." 2>/dev/null
 | ||
|     basedir="$(pwd)"
 | ||
|   done
 | ||
| 
 | ||
|   builtin cd "$orgdir" 2>/dev/null
 | ||
|   [[ ${basedir} == "/" ]] && return 1
 | ||
|   echo $basedir
 | ||
| }
 | ||
| 
 | ||
| rack_root_detect(){
 | ||
|   basedir=$(rack_root)
 | ||
|   echo `basename $basedir | sed -E "s/.(com|net|org)//"`
 | ||
| }
 | ||
| 
 | ||
| kapow(){
 | ||
|   local vhost=$1
 | ||
|   [ ! -n "$vhost" ] && vhost=$(rack_root_detect)
 | ||
|   if [ ! -h ~/.pow/$vhost ]
 | ||
|   then
 | ||
|     echo "pow: This domain isn’t set up yet. Symlink your application to ${vhost} first."
 | ||
|     return 1
 | ||
|   fi
 | ||
| 
 | ||
|   [ ! -d ~/.pow/${vhost}/tmp ] && mkdir -p ~/.pow/$vhost/tmp
 | ||
|   touch ~/.pow/$vhost/tmp/restart.txt;
 | ||
|   [ $? -eq 0 ] &&  echo "pow: restarting $vhost.dev"
 | ||
| }
 | ||
| compctl -W ~/.pow -/ kapow
 | ||
| 
 | ||
| powit(){
 | ||
|   local basedir="$(pwd)"
 | ||
|   local vhost=$1
 | ||
|   [ ! -n "$vhost" ] && vhost=$(rack_root_detect)
 | ||
|   if [ ! -h ~/.pow/$vhost ]
 | ||
|   then
 | ||
|     echo "pow: Symlinking your app with pow. ${vhost}"
 | ||
|     [ ! -d ~/.pow/${vhost} ] && ln -s "$basedir" ~/.pow/$vhost
 | ||
|     return 1
 | ||
|   fi
 | ||
| }
 | ||
| 
 | ||
| powed(){
 | ||
|   local basedir="$(rack_root)"
 | ||
|   find ~/.pow/ -type l -lname "*$basedir*" -exec basename {}'.dev' \;
 | ||
| }
 | ||
| 
 | ||
| # Restart pow process
 | ||
| # taken from http://www.matthewratzloff.com/blog/2011/12/23/restarting-pow-when-dns-stops-responding
 | ||
| repow(){
 | ||
|   lsof | grep 20560 | awk '{print $2}' | xargs kill -9
 | ||
|   launchctl unload ~/Library/LaunchAgents/cx.pow.powd.plist
 | ||
|   launchctl load ~/Library/LaunchAgents/cx.pow.powd.plist
 | ||
|   echo "restarted pow"
 | ||
| }
 | ||
| 
 | ||
| # View the standard out (puts) from any pow app
 | ||
| alias kaput="tail -f ~/Library/Logs/Pow/apps/*"
 |