https://github.com/sue445/pixela/blob/master/CHANGELOG.md#v020
大きな変更点
Pixelaのエンドポイントをリソースっぽく扱うためのメソッドを作りました
~v0.1.1
# create graph client.create_graph(graph_id: "test-graph", name: "graph-name", unit: "commit", type: "int", color: "shibafu") # register value require "date" client.create_pixel(graph_id: "test-graph", date: Date.today, quantity: 5)
v0.2.0~
# create graph client.graph("test-graph").create(name: "graph-name", unit: "commit", type: "int", color: "shibafu") # register value client.graph("test-graph").pixel(Date.today).create(quantity: 5)
経緯
先日作った時は最速(サービスリリース24時間以内?)で全APIを網羅したクライアントライブラリを出せたことに全く不満はなかったのですが、実際に使ってみるとPixelaのAPIを愚直にRubyのメソッドにマッピングしただけなので冗長な感は否めませんでした。
そこで、aws-sdk に対する aws-sdk-resources みたいな感じで使えるようにしました
何が嬉しいの?
上の例だけだといまいちメリットが分かりづらいですが、メソッドチェーンを分解して変数抽出することによりAPIをたくさん呼ぶ場合でもなるべく同じ引数を何回も書く手間を減らしてます
graph = client.graph("test-graph") graph.create(name: "graph-name", unit: "commit", type: "int", color: "shibafu") graph.pixel(Date.today).create(quantity: 5)
v0.1系までのメソッドとv0.2系以降のメソッドでどっちが使いやすいかはケースバイケースだと思うので、古い方のメソッドを消すつもりは今の所ありません。(実際APIのテストコードを書く時は前者の方が書きやすいので)
詳しい使い方はリファレンスを見てください。