2014-02-18 node-backlog-api@0.11.0をつくった
bouzuya/node-backlog-api@0.11.0をつくった。node-backlog-apiはBacklog APIのラッパーライブラリ。これで有料プランのものを除いてはひととおり実装できた。次はCLIかな。Terminalで操作できると気持ち良い。
昨日書いていたprototypeあたりの知識不足うんぬんを簡単に説明しておくと、次のようなインタフェースを実現したい。
var backlogApi = require('backlog-api');
var backlog = backlogApi();
backlog.admin.getProjects().then(function(projects) {
console.log(projects);
});
問題になるのがbacklog.admin.getProjects()
の部分で、素直に書くとgetProject
のthis
がadmin
になってしまう。これをどう回避しようかと試行錯誤していたというわけ。
最終的には、new Backlog()
(backlogApi()
の部分で内部的に実行している) のタイミングで this._root = this; this.admin._root = this;
しておき、this._root
を使うことで回避した。
おもしろいやり方じゃないんだけど、まあいいかなと。