uc_card

UC カード(www.uccard.co.jp)の会員サイトから、未払いのクレジットカード取引履歴(利用明細)を取得する Ruby ライブラリです。Mechanize で会員サイトにログインして明細ページを開き、Nokogiri で HTML をパースして Ruby のオブジェクトとして返します。

gem として公開していて、同名のコマンドラインツールも同梱しています。

gem install uc_card
uc_card   # 未払いの取引を一覧表示(オプションは一切ない)

README にある出力例です(利用先の名前は伏せてあります)。

2012/01/28: ****** 500 1回払い 1回
2012/01/26: ****** 5940 1回払い 1回
2012/01/22: ****** 3357 1回払い 1回
Total: 11722

ライブラリとして使うときはこう書きます。ID・パスワードはコードに直書きせず、認証情報管理ライブラリの pit から読み込む作りです。

require 'uc_card'
UCCard.start_with_pit("uccard.co.jp") do |card|
  puts card
end

内部設計

UCCard.start がログインから明細取得・ログアウトまでのライフサイクルを丸ごと面倒を見て、ブロックにはパース済みのインスタンスが渡ってきます。

uc_card の処理フローのシーケンス図

README には、SSL 証明書のエラーが出る場合は ruby -ropenssl -e "p OpenSSL::X509::DEFAULT_CERT_FILE" で証明書のパスを探して適切な証明書を入れるように、という注意書きがあります。