Ruby on Railsなどのgemファイル依存関係

(2014.9)

Ruby 1.8.7 のサポート期限が終了したこともあり, ようやく Ruby 2.1, Ruby on Rails 4.1にアップグレードした。

最近の Rubyでは, 各種ライブラリは, gemパッケージをインストールする。しかし, どれが標準的なライブラリか, まったく見当がつかない。

gemコマンド

gemコマンドで依存しているパッケージを表示するのは、次のようにする;

$ gem dependency actionmailer
Gem actionmailer-4.2.9
  actionpack (= 4.2.9)
  actionview (= 4.2.9)
  activejob (= 4.2.9)
  mail (>= 2.5.4, ~> 2.5)
  rails-dom-testing (>= 1.0.5, ~> 1.0)

依存しているパッケージと, バージョンが表示される。

Ruby on Rails

Ruby on Rails が依存しているライブラリは, 単にメジャーというだけだが, Webアプリの分野では, おおむね標準と考えていいだろう。

Railsが依存しているパッケージをグラフにしてみた。

(クリックで拡大)

黄緑がRuby on Railsのgemパッケージ。水色が rails アプリケーションが自動的に依存するパッケージ。

名前から分かりにくいものが多い。

actionpack web-flowと描画フレームワーク: MVCのうちVCを担当
arel SQL ASTマネジャー
builder XMLマークアップのビルダ
hike パスの集合からファイルを探す
sass CSS3を拡張するコンパイラ
sdoc rdoc with JavaScript 検索インデックス
spring Railsアプリケーション・プリローダ
sprockets Rackベースのassetパッケージシステム
thor コマンドラインインターフェイスを作るツールキット
tilt 複数のRubyテンプレートエンジンの, 一般的インターフェイス
turbolinks Webアプリで, リンクをたどるのを高速化。
uglifier UglifyJS JavaScript圧縮のラッパ。

Mechanize

ほかもグラフにしてみた。Mechanize は RubyからWebサイトを操作するためのライブラリ。

(クリックで拡大)

(2015.8) Mechanize は JavaScriptを使っているサイトをうまく扱えない。Capybara + capybara-webkit がよい。

omniauthほか

さらに, omniauth, passenger, pg, sanitize.

(クリックで拡大)

XMLライブラリは, nokogiri が優勢か。