自分の記憶力が薄弱すぎて、Rubyで何か書くかとなった時にいつも下準備の仕方を調べている気がするので、後で楽するために備忘録を残しておきたいと思います。
余談ですが、自分の記憶力が薄弱すぎて(大事なことなので2回繰り返した)「自分のために残すメモ的な意味の熟語なんだっけ?忘備録だったっけ?」って思ってググったら、「備忘録」(忘れるのに備える記録で備忘録)が正しくて、よく見る「忘備録」は誤記で「備えるのを忘れた記録になる」という意味になってしまうようです。
勉強になりました。
前提となる環境
- Mac OS X
- giboをインストール済
- ruby-build,rbenvをインストール済
準備
ディレクトリを作ってgit init
してからgiboで.gitignoreをお手軽に作成する。giboは、RubyとOSXとVimを引数に指定する(OSXとVimはなくてもいいかも)
$ mkdir rubyproject
$ cd rubyproject
$ git init
$ touch .gitignore
$ gibo Ruby OSX Vim >> .gitignore
simonwhitaker/gibo · GitHub
https://github.com/simonwhitaker/gibo
Rubyの設定
使用するRubyの設定をする。
rbenvでその時点での最新版のRubyを入れる。
$ rbenv install -l
$ rbenv install x.x.x(インストールするRubyのバージョン)
$ rbenv local x.x.x
$ rbenv rehash
sstephenson/rbenv · GitHub
https://github.com/sstephenson/rbenv
Bundlerの設定
基本的にプロジェクトで使用するBundlerでgemはローカルディレクトリに保存するけど、Bundlerとrubocopはシステムワイドにインストールしているので、その2つを最新版にする。
その後使用するgemをローカルにインストールする。
$ gem update --system
$ gem update bundler
$ gem update rubocop
$ bundle init
$ vim Gemfile
(使うgemを記述する)
$ bundle install --path vendor/bundle
Bundler: The best way to manage a Ruby application's gems
http://bundler.io/
Gemfile
プロジェクトで使用するgem以外のデバッグ等に使用するgemは以下を使っている。
source "https://rubygems.org"
ruby 'x.x.x'(インストールしたRUbyのバージョン)
group :development do
gem 'awesome_print'
gem 'tapp'
gem 'pry'
gem 'pry-doc'
gem 'pry-byebug'
gem 'pry-stack_explorer'
gem 'refe2'
end
- awesome_print
デバッグ時等にオブジェクトのデータ構造を分かりやすく表示してくれる。
.pryrcに下記のように書いてpry起動時に自動的にrequireするようにしている。
# awesome_print
begin
require "awesome_print"
AwesomePrint.pry!
rescue LoadError => e
puts "no awesome_print"
michaeldv/awesome_print · GitHub
https://github.com/michaeldv/awesome_print
- tapp
メソッドチェーンの途中に挟むと、pp(puts)しながらレシーバを返すObject#tappやObject#taputsが使えるようになる。
プリントデバッグが捗る。
esminc/tapp · GitHub
https://github.com/esminc/tapp
- pry
強いirb。
pry/pry · GitHub
https://github.com/pry/pry
- pry-doc
show-source
でCで書かれているRuby組み込みのクラスやメソッドのソースを見ることができる。
pry/pry-doc · GitHub
https://github.com/pry/pry-doc
- pry-byebug
binding.pry
でデバッグする時にピンポイントで処理を止めてステップ実行できる。
deivid-rodriguez/pry-byebug · GitHub
https://github.com/deivid-rodriguez/pry-byebug
- pry-stack_explorer
デバッグ時に show-stack
でその時のスタックの情報が見られる。
pry/pry-stack_explorer · GitHub
https://github.com/pry/pry-stack_explorer
- refe2
refe
でコマンドラインからRubyリファレンスマニュアルを見ることができる。
refe2 | RubyGems.org | your community gem host
https://rubygems.org/gems/refe2/versions/0.9.0
終わりに
Ruby初心者なので、Rubyで小規模な開発を行う時に便利なgemが他にあったら教えてほしいです。