こんにちは。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入門に関する記事はコチラを参考にしてみて下さい。
Tomoyuki
最新記事 by Tomoyuki (全て見る)
- Go言語(Golang)専門の技術ブログ「Golang-Tech」を開設!? - 2024年9月26日
- 【2024年】モンハンワイルズの推奨スペックとおすすめのゲーミングPCを紹介! - 2024年9月26日
- 37歳Web系エンジニア3年目。生成AI(ChatGPT・Gemini)現る。 - 2024年7月3日
コメントを残す