Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby Dev Env

Ruby Dev Env

My presentation about deveropment environment for Ruby programming.

http://kentaro.hatenablog.com/entry/2012/05/29/230254

Kentaro Kuribayashi

May 29, 2012
Tweet

More Decks by Kentaro Kuribayashi

Other Decks in Technology

Transcript

  1. Ruby Dev Env
    id:antipop / @kentaro
    2012-05-29

    View full-size slide

  2. Self Introduction
    •id:antipop
    •@kentaro
    •Working for paperboy&co.

    View full-size slide

  3. Seasoned Perler

    View full-size slide

  4. Ruby Beginner

    View full-size slide

  5. This meeting is NOT to give
    useful information to you.
    It’s YOU to do so.

    View full-size slide

  6. Agenda
    •Shell
    •irb / pry
    •Multiple Rubies
    •Helpful Gems for Deveropment
    •How to consult documents
    •Editor Settings

    View full-size slide

  7. aliases
    alias be="bundle exec"
    alias r='rails'
    alias rs='rspec'
    alias ra='rake'

    View full-size slide

  8. @banyan’s
    alias r="rails"
    alias rr="routes_cache | less"
    alias rrg="routes_cache | grep"
    alias rrr="routes_cache --force"
    alias rrrg="routes_cache --force | grep"
    alias rspec='rspec -c'
    alias fu='bundle exec rspec --format Fuubar --color spec'
    alias nyan='bundle exec rspec --format NyanCatFormatter --color spec'
    alias five='bundle exec rspec --format Fivemat --color spec'
    alias br='bundle exec rake spec'
    alias rdm='rake db:migrate'
    alias b='bundle exec'
    alias bundle-init='bundle install --path .bundle/gems'
    alias plog='grc powder applog' # dependent on grc
    alias powlog='grc powder applog' # dependent on grc
    alias rails-init='bundle install --path .bundle/gems && rake db:create
    db:migrate && powder link'
    https://github.com/banyan/config/blob/master/.zshrc#L182

    View full-size slide

  9. Any Suggestion?

    View full-size slide

  10. show-doc
    alias with ?

    View full-size slide

  11. show-source
    alias with $

    View full-size slide

  12. pry-rails
    •Replacement for `rails c`
    •pry with rails env

    View full-size slide

  13. pry-nav
    •Simple step execution
    •continue / next / step
    •Helpful for debugging
    .pryrc:
    Pry.commands.alias_command 'c', 'continue'
    Pry.commands.alias_command 's', 'step'
    Pry.commands.alias_command 'n', 'next'

    View full-size slide

  14. pry-clipboard
    •Allows us to copy from the
    results / history in pry
    session and paste them
    •Needs to some work-around
    to be used with tmux
    • http://kentaro.hatenablog.com/entry/
    2012/04/27/002058

    View full-size slide

  15. Any Suggestion?

    View full-size slide

  16. Multiple Rubies
    rvm / rbenv

    View full-size slide

  17. rbenv
    $ curl -L https://raw.github.com/fesplugas/rbenv-
    installer/master/bin/rbenv-installer | bash
    $ rbenv install 1.9.3-p194
    $ rbenv global 1.9.3-p194
    $ rbenv rehash
    $ ruby -v
    ruby 1.9.3p194 (2012-04-20 revision 35410)
    [x86_64-darwin11.3.0]

    View full-size slide

  18. rbenv-bundler
    •No more `bundle exec`
    •Just type `rails`, `rspec`, etc.

    View full-size slide

  19. Any Suggestion?

    View full-size slide

  20. Gems Helpful for
    Deveropment

    View full-size slide

  21. •bundler
    •gem-browse
    •vagrant
    •...

    View full-size slide

  22. Any Suggestion?

    View full-size slide

  23. How to Consult
    Documents

    View full-size slide

  24. αΫαΫҾ͚ΔRuby ϦϑΝϨϯεϚχϡΞϧ
    http://miyamae.github.com/rubydoc-ja/

    View full-size slide

  25. api.rubyonrails.org
    http://api.rubyonrails.org/

    View full-size slide

  26. Rails Guide
    http://guides.rubyonrails.org/

    View full-size slide

  27. Rails Guide in Kindle

    View full-size slide

  28. Any Suggestion?

    View full-size slide

  29. Editor Settings
    Vim / Emacs

    View full-size slide

  30. rinari
    •Jump from some buffer to
    another related with each
    other (eg. model to spec)
    •rhtml-mode
    •colorize
    •some shortcut keys

    View full-size slide

  31. anything-project
    •Narrows down canditate files
    into specific projects
    •Fast and sufficient
    •rinari is too feature-rich
    for me

    View full-size slide

  32. anything-project
    (require 'anything-project)
    (define-key global-map (kbd "C-;") 'anything-project)
    (ap:add-project
    :name 'ruby
    :look-for '("Gemfile")
    :include-regexp '("\\.rb$" "\\.erb$" "^Gemfile$")
    :exclude-regexp "\\(vendor\\|tmp\\|log\\|doc\\|\\.git\\|\
    \.bundle\\)/")

    View full-size slide

  33. anything-rdefs
    Method
    definition
    as outlines

    View full-size slide

  34. Any Suggestion?

    View full-size slide