summaryrefslogtreecommitdiff
path: root/oh-my-zsh/plugins/zeus
diff options
context:
space:
mode:
Diffstat (limited to 'oh-my-zsh/plugins/zeus')
-rw-r--r--oh-my-zsh/plugins/zeus/README.md50
-rw-r--r--oh-my-zsh/plugins/zeus/_zeus98
-rw-r--r--oh-my-zsh/plugins/zeus/zeus.plugin.zsh70
3 files changed, 218 insertions, 0 deletions
diff --git a/oh-my-zsh/plugins/zeus/README.md b/oh-my-zsh/plugins/zeus/README.md
new file mode 100644
index 0000000..0131f70
--- /dev/null
+++ b/oh-my-zsh/plugins/zeus/README.md
@@ -0,0 +1,50 @@
+# zeus plugin
+
+[Zeus](https://github.com/burke/zeus) preloads your Rails environment and forks that
+process whenever needed. This effectively speeds up Rails' boot process to under 1 sec.
+This plugin adds autocompletion for zeus and aliases for common usage.
+
+To use it, add `zeus` to the plugins array in your zshrc file:
+
+```zsh
+plugins=(... zeus)
+```
+
+You also need to have the `zeus` gem installed.
+
+| Alias | Command |
+|:-------------|:-------------------------------------------------------------------|
+| _zi_ | `zeus init` |
+| _zinit_ | `zeus init` |
+| _zs_ | `zeus start` |
+| _ztart_ | `zeus start` |
+| _zc_ | `zeus console` |
+| _zonsole_ | `zeus console` |
+| _zsr_ | `zeus server` |
+| _zerver_ | `zeus server` |
+| _zr_ | `noglob zeus rake` |
+| _zake_ | `noglob zeus rake` |
+| _zg_ | `zeus generate` |
+| _zenerate_ | `zeus generate` |
+| _zrn_ | `zeus runner` |
+| _zunner_ | `zeus runner` |
+| _zcu_ | `zeus cucumber` |
+| _zucumber_ | `zeus cucumber` |
+| _zwip_ | `zeus cucumber --profile wip` |
+| _zspec_ | `zeus rspec` |
+| _zt_ | `zeus test` |
+| _zest_ | `zeus test` |
+| _zu_ | `zeus test test/unit/*` |
+| _zunits_ | `zeus test test/unit/*` |
+| _zf_ | `zeus test test/functional/*` |
+| _zunctional_ | `zeus test test/functional/*` |
+| _za_ | `zeus test test/unit/*; zeus test test/functional/; zeus cucumber` |
+| _zall_ | `zeus test test/unit/*; zeus test test/functional/; zeus cucumber` |
+| _zsw_ | `rm .zeus.sock` |
+| _zweep_ | `rm .zeus.sock` |
+| _zdbr_ | `zeus rake db:reset db:test:prepare` |
+| _zdbreset_ | `zeus rake db:reset db:test:prepare` |
+| _zdbm_ | `zeus rake db:migrate db:test:prepare` |
+| _zdbmigrate_ | `zeus rake db:migrate db:test:prepare` |
+| _zdbc_ | `zeus rake db:create` |
+| _zdbcm_ | `zeus rake db:create db:migrate db:test:prepare` |
diff --git a/oh-my-zsh/plugins/zeus/_zeus b/oh-my-zsh/plugins/zeus/_zeus
new file mode 100644
index 0000000..78f0c54
--- /dev/null
+++ b/oh-my-zsh/plugins/zeus/_zeus
@@ -0,0 +1,98 @@
+#compdef zeus
+#autoload
+
+# in order to make this work, you will need to have the gem zeus installed
+# zeus zsh completion
+
+local -a _1st_arguments
+if [[ -e .zeus.sock ]]; then
+ _1st_arguments=(
+ 'console:Lets you interact with your Rails application from the command line. (alias = c)'
+ 'cucumber:Runs cucumber.'
+ 'dbconsole:Figures out which database you are using and drops you into whichever command line interface.'
+ 'destroy:Figures out what generate did, and undoes it. (alias = d)'
+ 'generate:Uses templates to create a whole lot of things. (alias = g)'
+ 'rake:Execute rake tasks.'
+ 'runner:Runs Ruby code in the context of Rails non-interactively. (alias = r)'
+ 'server:Launches a small web server named WEBrick which comes bundled with Ruby. (alias = s)'
+ 'test:Runs RSpec tests. (alias = rspec, testrb)'
+ 'version:Shows the version number.'
+ )
+else
+ _1st_arguments=(
+ 'start:Preloads the zeus environment'
+ 'init:Generate a zeus.json file'
+ )
+fi
+
+_rails_generate_arguments() {
+ generate_arguments=(
+ controller
+ generator
+ helper
+ integration_test
+ mailer
+ migration
+ model
+ observer
+ performance_test
+ plugin
+ resource
+ scaffold
+ scaffold_controller
+ session_migration
+ stylesheets
+ )
+}
+
+_rake_does_task_list_need_generating () {
+ if [ ! -f .rake_tasks ]; then return 0;
+ else
+ accurate=$(stat -f%m .rake_tasks)
+ changed=$(stat -f%m Rakefile)
+ return $(expr $accurate '>=' $changed)
+ fi
+}
+
+_zrake ()
+{
+ local expl
+ declare -a tasks
+
+ if [ -f Rakefile ]; then
+ if _rake_does_task_list_need_generating; then
+ echo "\nGenerating .rake_tasks..." > /dev/stderr
+ rake --silent --tasks | cut -d " " -f 2 > .rake_tasks
+ fi
+ tasks=(`cat .rake_tasks`)
+ _wanted tasks expl 'rake' compadd $tasks
+ fi
+}
+
+local expl
+local curcontext="$curcontext" state line
+typeset -A opt_args
+
+_arguments -C \
+ ':command:->command' \
+ '*::options:->options'
+
+
+case $state in
+ (command)
+ _describe -t commands "zeus subcommand" _1st_arguments
+ return
+ ;;
+
+ (options)
+ case $line[1] in
+ (rake)
+ _zrake
+ ;;
+ (generate|g|destroy|d)
+ _rails_generate_arguments
+ _wanted generate_arguments expl 'all generate' compadd -a generate_arguments
+ ;;
+ esac
+ ;;
+esac
diff --git a/oh-my-zsh/plugins/zeus/zeus.plugin.zsh b/oh-my-zsh/plugins/zeus/zeus.plugin.zsh
new file mode 100644
index 0000000..5dec1a4
--- /dev/null
+++ b/oh-my-zsh/plugins/zeus/zeus.plugin.zsh
@@ -0,0 +1,70 @@
+# Some aliases for zeus. (See: https://github.com/burke/zeus)
+# Zeus preloads your Rails environment and forks that process whenever
+# needed. This effectively speeds up Rails' boot process to under 1 sec.
+
+# Init
+alias zi='zeus init'
+alias zinit='zeus init'
+
+# Start
+alias zs='zeus start'
+alias ztart='zeus start'
+
+# Console
+alias zc='zeus console'
+alias zonsole='zeus console'
+
+# Server
+alias zsr='zeus server'
+alias zerver='zeus server'
+
+# Rake
+alias zr='noglob zeus rake'
+alias zake='noglob zeus rake'
+
+# Generate
+alias zg='zeus generate'
+alias zenerate='zeus generate'
+
+# Runner
+alias zrn='zeus runner'
+alias zunner='zeus runner'
+
+# Cucumber
+alias zcu='zeus cucumber'
+alias zucumber='zeus cucumber'
+alias zwip='zeus cucumber --profile wip'
+
+# Rspec
+alias zspec='zeus rspec'
+
+# Test
+alias zt='zeus test'
+alias zest='zeus test'
+
+alias zu='zeus test test/unit/*'
+alias zunits='zeus test test/unit/*'
+
+alias zf='zeus test test/functional/*'
+alias zunctional='zeus test test/functional/*'
+
+alias za='zeus test test/unit/*; zeus test test/functional/; zeus cucumber'
+alias zall='zeus test test/unit/*; zeus test test/functional/; zeus cucumber'
+
+# Clean up crashed zeus instances.
+alias zsw='rm .zeus.sock'
+alias zweep='rm .zeus.sock'
+
+# Reset database
+alias zdbr='zeus rake db:reset db:test:prepare'
+alias zdbreset='zeus rake db:reset db:test:prepare'
+
+# Migrate and prepare database
+alias zdbm='zeus rake db:migrate db:test:prepare'
+alias zdbmigrate='zeus rake db:migrate db:test:prepare'
+
+# Create database
+alias zdbc='zeus rake db:create'
+
+# Create, migrate and prepare database
+alias zdbcm='zeus rake db:create db:migrate db:test:prepare' \ No newline at end of file