diff options
author | Marvin Borner | 2019-03-05 01:09:01 +0100 |
---|---|---|
committer | Marvin Borner | 2019-03-05 01:09:01 +0100 |
commit | 55457187d18221e76bd12f0fb2cfab65c49b92fb (patch) | |
tree | 8db042d2d80710d54100c2709ad4332153ac848a /.oh-my-zsh/plugins/rails |
Initial commit
Diffstat (limited to '.oh-my-zsh/plugins/rails')
-rw-r--r-- | .oh-my-zsh/plugins/rails/_rails | 66 | ||||
-rw-r--r-- | .oh-my-zsh/plugins/rails/rails.plugin.zsh | 86 |
2 files changed, 152 insertions, 0 deletions
diff --git a/.oh-my-zsh/plugins/rails/_rails b/.oh-my-zsh/plugins/rails/_rails new file mode 100644 index 0000000..ad75055 --- /dev/null +++ b/.oh-my-zsh/plugins/rails/_rails @@ -0,0 +1,66 @@ +#compdef rails +#autoload + +local -a _1st_arguments +_1st_arguments=( + 'generate:Generate new code (short-cut alias: "g")' + 'console:Start the Rails console (short-cut alias: "c")' + 'server:Start the Rails server (short-cut alias: "s")' + 'dbconsole:Start a console for the database specified in config/database.yml (short-cut alias: "db")' + 'new:Create a new Rails application. "rails new my_app" creates a new application called MyApp in "./my_app"' + 'application:Generate the Rails application code' + 'destroy:Undo code generated with "generate"' + + 'benchmarker:See how fast a piece of code runs' + 'profiler:Get profile information from a piece of code' + 'plugin:Install a plugin' + + 'plugin new:Generates skeleton for developing a Rails plugin' + 'runner:Run a piece of code in the application environment (short-cut alias: "r")' +) + +_rails_generate_arguments() { + generate_arguments=( + assets + controller + decorator + generator + helper + integration_test + mailer + migration + model + observer + performance_test + plugin + resource + scaffold + scaffold_controller + session_migration + stylesheets + task + ) +} + + +_arguments \ + '(--version)--version[show version]' \ + '(--help)--help[show help]' \ + '*:: :->subcmds' && return 0 + +if (( CURRENT == 1 )); then + _describe -t commands "rails subcommand" _1st_arguments + return +else + _files + return +fi + +case "$words[1]" in + g|generate) + _rails_generate_arguments + _wanted generate_arguments expl 'all generate' compadd -a generate_arguments ;; + d|destroy) + _rails_generate_arguments + _wanted generate_arguments expl 'all generate' compadd -a generate_arguments ;; +esac diff --git a/.oh-my-zsh/plugins/rails/rails.plugin.zsh b/.oh-my-zsh/plugins/rails/rails.plugin.zsh new file mode 100644 index 0000000..eb3f303 --- /dev/null +++ b/.oh-my-zsh/plugins/rails/rails.plugin.zsh @@ -0,0 +1,86 @@ +function _rails_command () { + if [ -e "bin/stubs/rails" ]; then + bin/stubs/rails $@ + elif [ -e "bin/rails" ]; then + bin/rails $@ + elif [ -e "script/rails" ]; then + ruby script/rails $@ + elif [ -e "script/server" ]; then + ruby script/$@ + else + command rails $@ + fi +} + +function _rake_command () { + if [ -e "bin/stubs/rake" ]; then + bin/stubs/rake $@ + elif [ -e "bin/rake" ]; then + bin/rake $@ + elif type bundle &> /dev/null && [ -e "Gemfile" ]; then + bundle exec rake $@ + else + command rake $@ + fi +} + +alias rails='_rails_command' +compdef _rails_command=rails + +alias rake='_rake_command' +compdef _rake_command=rake + +alias devlog='tail -f log/development.log' +alias prodlog='tail -f log/production.log' +alias testlog='tail -f log/test.log' + +alias -g RED='RAILS_ENV=development' +alias -g REP='RAILS_ENV=production' +alias -g RET='RAILS_ENV=test' + +# Rails aliases +alias rc='rails console' +alias rcs='rails console --sandbox' +alias rd='rails destroy' +alias rdb='rails dbconsole' +alias rg='rails generate' +alias rgm='rails generate migration' +alias rp='rails plugin' +alias ru='rails runner' +alias rs='rails server' +alias rsd='rails server --debugger' +alias rsp='rails server --port' + +# Rake aliases +alias rdm='rake db:migrate' +alias rdms='rake db:migrate:status' +alias rdr='rake db:rollback' +alias rdc='rake db:create' +alias rds='rake db:seed' +alias rdd='rake db:drop' +alias rdrs='rake db:reset' +alias rdtc='rake db:test:clone' +alias rdtp='rake db:test:prepare' +alias rdmtc='rake db:migrate db:test:clone' +alias rdsl='rake db:schema:load' +alias rlc='rake log:clear' +alias rn='rake notes' +alias rr='rake routes' +alias rrg='rake routes | grep' +alias rt='rake test' +alias rmd='rake middleware' +alias rsts='rake stats' + +# legacy stuff +alias sstat='thin --stats "/thin/stats" start' +alias sg='ruby script/generate' +alias sd='ruby script/destroy' +alias sp='ruby script/plugin' +alias sr='ruby script/runner' +alias ssp='ruby script/spec' +alias sc='ruby script/console' +alias sd='ruby script/server --debugger' + +function remote_console() { + /usr/bin/env ssh $1 "( cd $2 && ruby script/console production )" +} |