ruby-xurrency をリリースしました

以前「API Xurrency : 各国通貨の為替レートを教えてくれます」に書いたように、xurrency.com さんは各国通貨の為替レートを取得できるとってもすごいサイトです。この API xurrencyRubyでとっても簡単に使えるツール及びライブラリの ruby-xurrency をリリースしました。

インストール

いつもの通りにgemでよろしくお願いします。

% sudo gem install xurrency

xurrency コマンドの使い方

まずは xurrency コマンドの使い方を紹介致します。最初に通貨コードを一覧しておきましょう。

% xurrency -l
ars, aud, bgn, brl, cad, chf, cny, cop, czk, dkk, eek, eur, gbp, hkd, hrk, huf, inr, isk,
jpy, krw, lkr, ltl, lvl, mxn, myr, nok, nzd, php, pln, ron, rub, sek, sgd, skk, thb, try,
twd, usd, vef, zar

日本円のコードは"jpy",人民元のコードは"cny"です。では 10,000 円は人民元にするといくらになるでしょうか?こんな時は次のようにします。

% xurrency 10000 jpy cny
697.0
(1 jpy = 0.0697 cny)

% date
2008年  4月 15日 火曜日 19:56:42 JST

というわけで、10000円は697元だそうです。では次に100元って日本円にするといくらでしょうか?やはり同様に次のようにします。

% xurrency 100 cny jpy
1434.72
(1 cny = 14.3472 jpy)

% date
2008年  4月 15日 火曜日 19:58:44 JST

そんなわけで1434円になることが分かりました。これはコマンドラインから簡単に操作できるので、とっても便利に使えると思います。是非使ってみて下さい。

ライブラリ

では次にライブラリとしての使い方を簡単にまとめておきます。

# 準備
xu = Xurrency.new

# 変換
xu.value(10000, "jpy", "cny") # 10000円 → 697.0元
xu.value(100, "cny", "jpy")   # 100元 → 1434.72円

# レートを取得
xu.values("jpy") # => {"cny" => 0.0697, ... }

という感じです。もう少しだけ機能はありますが、基本的にはこれだけで十分ではないかと思います。これらのメソッドは値をキャッシュしてありますので、最初に呼び出した時にはネットワークに接続して時間がかかりますが、二回目以降は高速に変換できると思います。詳しくはAPI文書をご覧下さい。ただし、値をキャッシュしてあるので、最新の情報が欲しい時に困るかと思います。そういう場合は値の更新用を関数を用意してあります。

xu.update(:values, "jpy")

例えば以上のようにすると、xu.values("jpy")の結果が更新されます。また、一切キャッシュして欲しくない時には Xurrency::Request にある同名のメソッドを使用して下さい。

Xurrency::Request.values("jpy")

この場合には結果をキャッシュしないので、毎回 xurrency.com にリクエストを投げます。負荷の問題もあろうかと思いますので、気を付けて使って下さい。これを使えばウェブサービスに各国通貨の為替レートを表示する、なんてことが、とっても簡単に出来ると思います。どなたか是非挑戦してみて下さい。

感想

API Xurrency、とっても素晴らしいサービスなのは間違いないのですが、やや重たいのが難点です(タイムアウトばっかりな場合も)。でもこんなに便利なのが自由に使えるので、とっても満足です。xurrency.comさんありがとう!