MWSのRuby向けサンプルコードをオブジェクト指向っぽくしてみた。

AmazonマーケットプレイスWebサービスというのを触る機会があり、以下のページを参考に勉強しているのだけどサンプルコードが全部ベターっと書かれていて再利用しにくいなあと思った。
※ベターっとのニュアンスがわからない方は以下リンク参照aws.typepad.com

そこで再利用しやすいようにオブジェクト指向で書きなおしてみた。
難しいところはサンプルそのままコピペ。
私がやったのは全体をクラス化して、MWSへの固定の引数⇒定数、リクエストごとに変化する引数⇒メソッドの引数という具合に分離することと、米国サイトと日本サイトを別々のクラスとして定義することくらい。

サンプルに書かれているListMatchingProductsにしか対応していないけれども、こうしておけば他の操作をやりたい時もメソッドを追加するだけで楽にできるんではないかなと思う。*1

*1:誰かがMWSのgemを作ってくれるのが一番楽なんだけども。MWSは大口出品者のアカウントがないといけないのでユーザが少ないのかも。