Gemとは?RubyのGemを使ってみる!


こんにちは。Tomoyuki(@tomoyuki65)です。

Rubyを学んでいると「Gem」というのが出てきますが、イマイチよくわかりませんよね。

そこでこの記事では、Gemについて解説したいと思います。

 



Gemとは?

GemはRubyGemsが公開しているライブラリのことです。

RubyGemsはRuby用のパッケージ管理ツールで、ライブラリの作成や公開、インストールを助けるシステムです。

このライブラリを使用することで、自分で1からコードを書かなくても簡単に機能を実装することができます。

ただしデメリットとして、使用するフレームワーク(Ruby on Railsなど)のバージョンによる相性や、多様しすぎると保守が大変になります。

Gemを利用する場合は、目先の便利さと将来遭遇する面倒ごとのバランスが取れていることを考慮すると良いようです。

 

Gemを使ってみよう!

では試しにGemを使ってみましょう。

今回はRuby on Railsの汎用的なライブラリであるActiveSupportを使い、日付に関する計算をしてみます。

日付に関する計算は結構大変なので、そんな時はこのActiveSupportを使っておけば良いと言われています。

では以下プログラムを実行してみて下さい。

# RubyGemsを読み込む
require 'rubygems'

# ActiveSupportの機能を全て読み込む
require 'active_support/all'

# 現在日時を表示する
p Time.now

# タイムゾーンを東京に変更して現在日時を表示する
p Time.now.in_time_zone('Asia/Tokyo')

 

実行結果は以下の通りです。

2017-10-22 04:40:47 +0000
Sun, 22 Oct 2017 13:40:47 JST +09:00

 

「p Time.now」で現在時刻が表示されますが、タイムゾーンが異なっているので、日本の時間と異なってしまいます。

そこで「in_time_zone」メソッドを使い、タイムゾーンを「Asia/Tokyo」にして表示すると、日本の現在時刻が出力されます。

このように、Gemを使うと簡単に機能を実装することができます。

ActiveSupportを使えば他にも様々な日付の計算ができますので、色々試してみて下さい。

Gemはこの他にも様々なものがあるので、開発コストを下げるためにも積極的に使っていきたいですね。

 



Gemを検索する方法

Gemには様々なものがありますが、Gemのパッケージ名で検索したい場合はRubyGemsのコミュニティーサイトから検索することができます。

検索するとダウンロード数のランキング形式でリストアップされ、最新のバージョンの確認もできます。

 

まとめ

  •  GemはRubyGemsが公開しているライブラリのこと
  •  RubyGemsはRuby用のパッケージ管理ツールで、ライブラリの作成や公開、インストールを助けるシステム
  •  Gemを使うことで簡単に機能を実装できるメリットと、バージョンによる相性問題や多用しすぎた場合の保守が大変になるデメリットがある
  •  目先の便利さと将来遭遇する面倒ごとのバランスが取れているGemは、開発コストを下げるために積極的に利用しよう。

 

その他、Ruby入門に関する記事はコチラを参考にしてみて下さい。

 

The following two tabs change content below.
Tomoyuki

Tomoyuki

元SE。30歳を目前に仕事や将来に悩み、Web業界へ転職を目指すも失敗。 「好きなことで生きる」に憧れてなんのあてもなく仕事を辞め、ガチ初心者からブロガーに挑戦し、月間13.3万PV(上昇中)を達成! ブログでは大好きなパソコン情報をはじめ、様々な役立つ情報を発信中。 そして次はプロゲーマーとしても活動するため、ゲーム練習と合わせて攻略記事を書いたり、YouTubeでも活動中。








シェアはこちらから


ゲーミングPCならBTO

最近はゲーミングPCを購入する人も増えましたが、「どう選べばいいの?」という人も多いですよね。BTOなら自分好みにカスタマイズすることも可能でおすすめなので、ぜひ一度チェックしてみて下さい!



デジタルコンテンツ素材販売店

ひょんなことから、私はiPhoneだけでデジタルコンテンツ(画像や動画など)を作成するチャレンジを始めました。

そこで、試しに自作したデジタルコンテンツの素材販売店をオープンしてみたので、よければぜひ一度チェックしてみて下さい!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です