はじめに

もう標準ライブラリは使い慣れてきましたか?
Rubyの標準ライブラリは豊富なモジュールが提供されており、それだけでも十分強力です。
しかし、それでも思ったような機能が見つからない場合もあります。
そんなときは、自作し始める前に外部ライブラリに目を向けてみましょう。
標準ライブラリを超える、多種多様なモジュールが見つかりますよ。
この記事では、Ruby初心者の方向けに、RubyGemsを使った外部ライブラリのインストール方法や使い方などについてお伝えしていきます。
標準ライブラリだけでなく、ぜひ外部ライブラリも活用しましょう。

ライブラリの使い方のおさらい

はじめに、ライブラリの使い方をおさらいしておきましょう。
ライブラリは、次のように読み込んでから使用するのでした。
例:

require 'open-uri'
open("http://www.yahoo.co.jp/") do |page|
puts page.read
end

この例では、標準ライブラリの”Open-URIモジュール”を読み込んで使用しています。
外部ライブラリも同様の手順で使えますが、そのためにはすこし準備が必要です。

外部ライブラリを使うには?

当然のことながら、外部ライブラリはRuby本体に含まれていませんので、どこからか探してくる必要があります。
一般的には、検索エンジンやGitHubなどのリポジトリホスティングサービスを使って探すことになるでしょう。
使いたいライブラリが見つかったら、ローカルマシンにインストールします。
多くのライブラリは、RubyGemsに対応しているはずです。
RubyGemsは、Rubyライブラリのためのパッケージ管理システムです。
煩雑になりがちなライブラリ管理を簡単にしてくれます。
すでにRuby本体といっしょにインストールされているため、コマンドライン(コンソール)から次のコマンドを入力すると、インストール済みのライブラリ(gem)の一覧が表示されます。

gem list

それでは、さっそくgemをインストールしてみましょう。
ここでは、HTMLやXMLなどの文書を簡単に扱える「Nokogiri」をインストールしてみます。
スクレイピングでよく利用されるライブラリです。
次のコマンドを入力しましょう。

gem install nokogiri

うまくインストールできましたか?
引き続き、今しがたインストールしたライブラリを使ってみましょう。
次の例をみて下さい。
例:

require 'open-uri'
require 'nokogiri'
open("http://www.yahoo.co.jp/") do |page|
  doc = Nokogiri::HTML.parse(page.read, nil, page.charset)
  puts doc.title
end

この例では、先ほどの”Nokogiri”を利用して、Yahoo! JAPANのトップページのタイトルを取得しています。
自前でやると面倒なことも、ライブラリを使えば簡単にできますね。
また、RubyGemsでインストールしたライブラリは、更新も簡単です。
次のように、コマンドを入力することで、アップデートが行われます。

gem update nokogiri

ときには、セキュリティフィックスやバグフィックスなどの重要なアップデートが行われることもありますので、互換性に注意しつつ更新しておきましょう。

RubyGemsは自分で作ることもできる

現在、RubyGemsは8,000個以上が公開されています。
これほど多くのgemが存在する理由のひとつには、個人が自由にgemを作成して公開できることがあります。
つまり、あなたもオリジナルのgemを作成して世界中に公開できるのです。
RubyGemsは、「RubyGems.org」というサイトで管理されています。
このサイトでは、gemの登録が行える他、登録されているgemを検索することもできます。
わかりやすいガイドも公開されているので、一度訪れてみるとよいでしょう。
RubyGems.org:https://rubygems.org/
また、ガイドにはRubyGemsのコマンドリファレンスも掲載されています。
この記事で紹介した基本的なコマンド以外にも、多数のコマンドがあることが確認できます。
どんなコマンドがあるか、ひと通り見ておくとよいでしょう。
RubyGemsコマンドリファレンス:http://guides.rubygems.org/command-reference/

まとめ

RubyGemsの扱い方がお分かりになりましたか?
外部ライブラリは、ネット上で多数公開されています。
検索エンジンで検索したり、GitHubなどのリポジトリホスティングサービス内で探したりするとよいでしょう。
また、RubyGemsを使えば、簡単にライブラリをインストールできます。
アップデートも簡単にできるので、できるだけRubyGemsで管理するとよいでしょう。