wip 後で同じことを考え直さないようにメモ。

クラス定義

  • SDKが用意されている場合
    • やりたいことが単純なら、継承したクラスまたはinitializerで認証用の値を渡すのみ
    • 用途を限定したい場合や自サービスのモデルを加工して渡したい場合など、使用に制限をかけたい場合はインスタンス変数でクライアントを持つ
  • 独自にクライアントクラスを作る場合
    • 各メソッドにリファレンスへのurlを張る

テスト

  • テストコードでAPIが使われないように、モック、スタブを使う
client = instance_double(Class)
allow(client).to receive(:hoge).and_return({"data": "aaa"})
allow(SdkClient).to receive(new).and_return(client)