9-3-3 代表的な標準ライブラリについて理解を深めよう

dateライブラリ

require 'date'と宣言すると、dateライブラリによって提供されるDateクラスを使用することができます。

Date.new(年, 月, 日)と、年月日をそれぞれ引数に渡すことでDateオブジェクトを生成します。

Dateオブジェクトから使える主なメソッドは以下の通りです。

使えるメソッド 動作
year 年を整数で返す
month 月を整数で返す
day 日を整数で返す
wday 曜日を0から6の整数で返す(0=日曜、6=土曜)
strftime(フォーマット) 引数で指定したフォーマットに変換した文字列を返す

strftimeの引数に指定するフォーマットには、整形したい形式の文字列を指定します。

この文字列の中に、パーセント(%)で始まる特殊な文字列を指定すると、Dateオブジェクトが持つ値で置き換えてくれます。

前ページ「9-3-2 標準ライブラリを使ってfacebookトップページのlike数を取得しよう」の例では、Dateオブジェクト.strftime('%Y年%m月%d日')とすると出力が2018年11月18日なので、%Yは年、%mは月、%dは日でそれぞれ置き換わっていることが分かります。

strftimeに指定できる主なフォーマットは以下の通りです。

フォーマット 意味 置換例
%Y 4桁の西暦 2017
%m 2桁の月(1桁の場合は先頭がゼロ埋めされる) 01
%d 2桁の日(1桁の場合は先頭がゼロ埋めされる) 02
%a 曜日の英語短縮表記 Mon
%w 0から6の整数で表した曜日 1

open-uriライブラリ

open-urirequireすると、元々コンピュータ内のファイルを操作するために用意されているopenメソッドを拡張することができます。

openメソッドの引数にURLを指定すると、プログラムを実行しているコンピュータから指定したURLにインターネットを通じてアクセスし、一時的なファイルにURLの実行結果が保存されます。

一時ファイルに保存された内容は、readメソッドで読み込むことができます。

jsonライブラリ

jsonrequireすると、JSONを扱う便利なメソッドが使えるようになります。

前ページ「9-3-2 標準ライブラリを使ってfacebookトップページのlike数を取得しよう」の例では、ハッシュの拡張メソッドとしてto_jsonによって、ハッシュがJSON形式のテキストに変換されていることが確認できます。

また、JSON.parseによって、第1引数にJSON形式のテキストを指定するとハッシュに変換することもできます。

FacebookのグラフAPI

前ページ「9-3-2 標準ライブラリを使ってfacebookトップページのlike数を取得しよう」の例で確認したように、FacebookのグラフAPIを使うと指定したページの「いいね!」の数を取得することができます。

本題からは外れるので詳細な説明は行いませんが、前ページ「9-3-2 標準ライブラリを使ってfacebookトップページのlike数を取得しよう」の例から、グラフAPIを使用するには、http://graph.facebook.com/?id=対象URLとすると対象URLの情報が取れることが分かります。

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

{
  "og_object": {
    "id": "...",
    "title": "...",
    "type": "...",
    "updated_time": "..."
  },
 "share": {
    "comment_count": ...,
    "share_count": 
  },
 "id": "http://www.facebook.com"
}

このように、「いいね!」の数を取得したい場合は、share_countの値を参照すれば良いことが分かります。

代表的な標準ライブラリのまとめ

  • Rubyには、目的に特化した処理をまとめたものである標準ライブラリがある
  • 標準ライブラリをrequireすることで、より便利なメソッドを使える