[Ruby] Ruby で .rb ファイルを require する

memo.

[markdown]
## ローカルファイルの読み込み

“`ruby
require ‘./foo’
“`

## require は、$LOAD_PATH に登録されている探索パスから検索する

“`prettyprinted
% pry
[1] pry(main)> $LOAD_PATH
=> [“/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/coderay-1.1.0/lib”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/slop-3.5.0/lib”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/method_source-0.8.2/lib”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/pry-0.9.12.6/lib”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/site_ruby/2.1.0”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/site_ruby/2.1.0/x86_64-darwin13.0”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/site_ruby”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/vendor_ruby/2.1.0”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/vendor_ruby/2.1.0/x86_64-darwin13.0”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/vendor_ruby”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/2.1.0”,
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0”]
[3] pry(main)> $LOAD_PATH << File.dirname(__FILE__) => [“/Users/****/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/coderay-1.1.0/lib”,
:
“/Users/****/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0”,
“.”]
“`

カレントディレクトリをロードパスに追加する処理。

その1

“`ruby
$LOAD_PATH << File.dirname(__FILE__) ``` > * [Ruby の require と ActiveSupportの自動requireについて – 酒と泪とRubyとRailsと](http://morizyun.github.io/blog/ruby-require-active_support-load/)

その2

“`ruby
$:.unshift File.dirname(__FILE__)
“`

> * [Rubyでrbファイルをrequireするときはドットを打つと良さそう – アインシュタインの電話番号](http://blog.ruedap.com/2011/05/31/ruby-require-load-path)

## ディレクトリ内のファイルをまとめて require する

“`ruby
Dir[File.expand_path(‘../lib’, __FILE__) << '/*.rb'].each do |file| require file end ``` > * [Rubyで指定ディレクトリ以下のファイルを全てrequireする方法 – くろの雑記帳](http://kurochan-note.hatenablog.jp/entry/2014/02/15/235706)
> * [RubyのFile.expand_path(‘相対パス’, __FILE__)の意味 – maeharinの日記](http://d.hatena.ne.jp/maeharin/20130104/p1)
[/markdown]