海外などのドラマで、家の鍵を複数つけているドアを見たことがあるでしょうか。数カ所に鍵をつけることでピッキングの防止になったり、その手間をかけさせることで諦めさせる効果があります。 そんな感じの処理をJavaScriptでやってみたのがDoorsです。説明はなんですが、技術的には興味深いソフトウェアです。

Doorsの使い方

最初の表示です。2カ所がロックされています。

両方アンロックすると、開けるようになります。

ロックは自由に追加できます。

ロックはaddで追加できます。

door.add('olivier');
door.add(new Doors('child')); 

そして一部のロックを解除したり、全てのロックを解除/ロックできます。

// ロック処理
door.lock('olivier'); //lock 'olivier'
door.lock('olivier', 'amy'); //lock 'olivier' and 'amy'
door.lock(); //lock all the locks

// アンロック処理
door.unlock('olivier'); //unlock 'olivier'
door.unlock('olivier', 'amy'); //unlock 'olivier' and 'amy'
door.unlock(); //unlock all the locks

openが呼び出せるのは全てアンロックされている場合に限ります。

door.on('open', function(){
  //do something
}); 

そうやって各ロックのステータスを管理し、ドアの開閉を可能にしています。スパムの防止などにメールではなく、DoorsをJavaScriptで操作して送信するようにしてみても面白いかもしれません。

DoorsはJavaScript製、MIT Licenseのオープンソース。ソフトウェアです。

Doors by bredele bredele/doors