LoginSignup
19

More than 5 years have passed since last update.

Rubyプロジェクトの始め方の備忘録

Last updated at Posted at 2015-11-20

自分の記憶力が薄弱すぎて、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が他にあったら教えてほしいです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19