Rubyプロジェクトの始め方の備忘録
Rubyプロジェクトの始め方の備忘録
自分の記憶力が薄弱すぎて、Rubyで何か書くかとなった時にいつも下準備の仕方を調べている気がするので、後で楽するために備忘録を残しておきたいと思います。
余談ですが、自分の記憶力が薄弱すぎて(大事なことなので2回繰り返した)「自分のために残すメモ的な意味の熟語なんだっけ?忘備録だったっけ?」って思ってググったら、「備忘録」(忘れるのに備える記録で備忘録)が正しくて、よく見る「忘備録」は誤記で「備えるのを忘れた記録になる」という意味になってしまうようです。 勉強になりました。
前提となる環境
準備
ディレクトリを作って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