{"_id":"circuits","_rev":"46-e87a4ed5fb2e524b053bd593a935e354","name":"circuits","description":"Node.js RESTful socket.io router - Minimalistic Style","dist-tags":{"latest":"0.3.1"},"versions":{"0.0.1":{"name":"circuits","version":"0.0.1","description":"Real-Time Backend - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.0.4","redis":"latest","node-acl":"0.0.2","socket.io-client":"0.9.11","socket.io":"0.9.13"},"devDependencies":{"jasmine-node":">= 1.0.26","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.8.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"_id":"circuits@0.0.1","dist":{"shasum":"8fc79c6efb26abe7ee9f542c52dfe09ef73f7b3f","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.0.1.tgz","integrity":"sha512-QQ1Eut32akpIt6wOgmdVYmYgmqYkvfdL7Lw3SUkyTg2zeA4tHCpRCEt/fQmHJhlX776RlTBjhavmkGmW/kf8Xw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF5VXZypSS/nYHIW6dDm2VCDM7d6HEfPvUDlAEIeXbyfAiEApQ/wuLsSRX2h/acNnnrp2BDKsIFhoxNNPyvtHq0vuJk="}]},"_from":".","_npmVersion":"1.2.3","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.0.3":{"name":"circuits","version":"0.0.3","description":"Real-Time Backend - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.0.4","redis":"latest","node-acl":"0.0.2","socket.io-client":"latest","socket.io":"latest"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.9.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.0.3","dist":{"shasum":"ce30fa4a0315367ae6ece5dd001e588eb409e0c6","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.0.3.tgz","integrity":"sha512-CICwJeEP0ETazXUQ4lDcotAw3OnmqwiFwLWTpuXI07gJ2T/3qR5ItM4OfZMOyLzr6wGY1S7xtzb7610l1iEZUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFhRUjZC56sz0fkYOlhI6y7+XvkUX0rsBIk7Gs6lTPcWAiA4UmuMQO7TiO4jV29sQY+P7N9ndMB3K3BfUjPNvR1b4Q=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.0":{"name":"circuits","version":"0.1.0","description":"Real-Time Backend - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.0.4","redis":"latest","node-acl":"0.0.2","socket.io-client":"latest","socket.io":"latest"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.9.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.0","dist":{"shasum":"76341fe0dd47195bb38278baf08ef3816b19c970","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.0.tgz","integrity":"sha512-rBDiG8WR/psnND3Cejk04giwpXkdwHX2aOVnJ4Rc/skf9vYs7Yk8wOE/4nRs6L6J90/FBwtftIaTeQJt41Q9vw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDnrkrT2MuvxZ+3OjIUDcNurGF9+MuRIdTPebIp4IEW6AiEAhtUMesJ0A8HuSn1K9xr5unjnZmzzU5zGn1QBDy4/0zE="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.1":{"name":"circuits","version":"0.1.1","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.1.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.9.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.1","dist":{"shasum":"053065d0c66a4bf5d4007f65dd84367a4f9709d2","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.1.tgz","integrity":"sha512-YCWjqx1/JrcrAhHAbRj7ocvbXWF5DBMWKV7milRDv2qi9/4MDQ3EHyXultwS4TNZXBHUOwAmnX5JkJEB9mnBFw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5wIh/efvHyz0AHXqktI4DY2mUCoSzUFu9EBuztF4n0AIhAPOvb9668UGKtVjHyhgIz2R9yv601e9a851dD/CRjDhF"}]},"_from":".","_npmVersion":"1.3.25","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.3":{"name":"circuits","version":"0.1.3","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.1.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.3","dist":{"shasum":"7c366e7b818d1077cf9b55f5947331015848e477","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.3.tgz","integrity":"sha512-AB/5s9AbMLoQbUV1AFYTh6kfdec6oBmEpiFn2WfSdLeETj/2qwT9QhUVb19IQtqHfJE5+qtQ4qr5PjtpeBjxZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk5acqt3ExIM1JADU/LbjEQffPgE3PEOPNN4bLCXp62QIhALZtcMF6V5WGmzRvClFkmV6oM/F5ne9ERMgqqmeMP8B5"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.5":{"name":"circuits","version":"0.1.5","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.1.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.5","dist":{"shasum":"23ff54e413fe86ae2c4075cceccc34a95bf5ca7c","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.5.tgz","integrity":"sha512-QZ/Pk35zZXByoWqKgsxshzFvRkj7pN7baSUYwItvBIj4kO05558YfawGTOPHPPvr5PYY+UiNZiyL+8beDYXABw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAqxa++IBwrly1KX2JdNubpgRLiAsEYVxTJgLYGq7Fo+AiEA6iR+1vY/Iyjq47EEyBb6Ha96RpL3Yz820cawliz5es8="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.6":{"name":"circuits","version":"0.1.6","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.1.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.6","dist":{"shasum":"5d2b184032a3303c843800d881553045fb3ee833","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.6.tgz","integrity":"sha512-1C+sFHXcZtpzabFSnVcjjfNAVcPgffTYx76Pd/dfPgJjGWogAc65A8JFfWIPGN/J5GfZgXFib0UXfMoPsUcLkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmVVum5Osq1lItytV0a1gFXu9I6eBQnqj30DJC1noK1gIhAIpayAYRPX0fjHuBS2qR0VewlwYj+4TqORJ2CC7xh6hL"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.7":{"name":"circuits","version":"0.1.7","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.1.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.7","dist":{"shasum":"39b0303e49090566b04679c8d9107101574ba09e","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.7.tgz","integrity":"sha512-mf09Dy9D473Pha4Gr6Tt+n/rFFemVQ9cXz0SVYuv55QqE/k2kQfR0cDgDc5bXGCXzZAcavXruVAfC+0UuD43/g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDvzTcRmFlPRkSGb2SocxU7Wel260MG3oj1lhd5ZXYamAiB9gNQbvj6fclG9MwWx8Suxkj3PtbRlEPs/IOuSEQB4Ow=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.8":{"name":"circuits","version":"0.1.8","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.1.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.8","dist":{"shasum":"5957c413cee1bb46b349d7ae869bbb5b549eeb87","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.8.tgz","integrity":"sha512-hPngdNHBJhwA9IjUh6hj1YY2tFqJX25xJ/81SLeg09WSXUtl4nVqYsABHDmD5LvQOD0yt8NgO2zFBohWCNQffQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD+njUIknv9bBjTmI7z/Gl+bW1p8ETOwbEtOH2RGOfq9QIhAMZrhdwCDiMSfAj1SCdcVQZnTdxBsjkdJr1BRkb8zNrV"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.9":{"name":"circuits","version":"0.1.9","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-logr":">= 0.5.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.9","dist":{"shasum":"8a9ff981048b6cc492164efe05bb3ce2f2985e51","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.9.tgz","integrity":"sha512-mUFktsCVdodr3St9ilqnm26P9hcby6FWnkTz+9wLlqDURieBSnz73uY6QKZb06r6KgStyKoRVjd1RaUu+0FNng==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFd3T4xhFTgwQTUQm9/E/WvDhA+3eH2U6ABejznmspQfAiEAgmo3Go/QAaymGHzTMSyIksTIO70yTPssFYeW5FiC1so="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.1.10":{"name":"circuits","version":"0.1.10","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","node-acl":"0.0.2","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*"},"devDependencies":{"jasmine-node":"1.14.03","coffee-script":"latest"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.1.10","dist":{"shasum":"2cd76e48dd65a0dbaff0c030678837335684b4e2","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.1.10.tgz","integrity":"sha512-o+Kxt+GENQ/YE3ltCimcmD2ous58XlOlR3NrOqIdgb8KStu3+WMxomPiIzKaVEMD/jd6Chp57CQYW911g7JZRw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCZ+BfGGmxSCuTcaAlGtn7J4aHlHOYiI9et9lCmKcmwqAIhAPh1XrtHYsGqwrMXIdZwInjb1LcQxsNVJ5cLgsQF4lGg"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.0":{"name":"circuits","version":"0.2.0","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.0","dist":{"shasum":"a599d5ab67294d939cd8fab2384647627b57cfb2","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.0.tgz","integrity":"sha512-R5v658XbTM6DLokzKg3FqRDylafbkBxkDGiNO9SdTk9e0hJZNfsCrwEj4+Yh18LZMmuFPTQw4/jKBdzcGi5jkA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBnW+GB2bAVcy21Lgs4bK51yoeiy1UxhRR7lbH8TK0m5AiEAvlYOQHOC+92SOMofSiwaA2C1db8ZornKMra5zsTt2lA="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.1":{"name":"circuits","version":"0.2.1","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.1","dist":{"shasum":"951e07428638d7fbd94134138d1b76edb9ec3fe3","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.1.tgz","integrity":"sha512-kWX6AEIfvJnH4SHhLcdc5bdaFhNigJRpqW7lO8Xh/OijhI3wO+rIDUoBuGISea9VJxBqhcscxsBop/6pjyy5Bg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCRHsRDDVu1T+wN3IQvZl70Bow40IUbcMFUgtK7XQpB8QIhANb0Sg3wSsWVMgqbS5IVEPB0dAxYxC2H3HMCV0usZP3h"}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.2":{"name":"circuits","version":"0.2.2","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.2","dist":{"shasum":"5b31c81fb40cd16303693e0ad7ecfd7af52e2709","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.2.tgz","integrity":"sha512-6TmaJc4vdshv50u+JmGRIJa/X7/BiE62vDZ4LCvh9+Nq0iu/EwbnErX4YljcbnyGbXr2qtrPFqBM7veGlFyrNQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIALc8Y8M7zl8VcZ1QGwS5L7Wy8TjTZN+WFW57ybZOh1oAiBrDu8Cj2JINsZsPvG6t/NSebvM2eLUObALRUI3ig0zQQ=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.3":{"name":"circuits","version":"0.2.3","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.3","dist":{"shasum":"ba524dcb669a254cb86e85b9f248bd88865f1c54","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.3.tgz","integrity":"sha512-+cKhKCIVNdi0WOxjP10qIzC3Hquv8O2gLObz0M6xP3/60u+MFTtkOwoyt1OZnx4Wnw7QzT7vt6Yk7OWzcnpjbw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDCdwDnXZgkA+9CIXDvVyErTKUQh/XpxoRJPhpIasEg5AiEA0cHUhh86JOfp7y7ve8w5/dtH/SEwCcnTaZCX2l8MB00="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.4":{"name":"circuits","version":"0.2.4","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.4","dist":{"shasum":"e544044f2148d64c9d1abec12a69c04637436ad3","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.4.tgz","integrity":"sha512-WqdMMQckGb2FCRYA/nRpU2ILtNoPlXOv8lVcPLaExZbtb1pQo2ja2ytcWq/PDA+pGjRjYhpF0XQaIBxeOIsROA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC9/qMh5hRWdZLVEET97IH/egQouJc9p9pKTGC/zS6AkAiEAiB+pb7jkuzBbuNGfiUuz72uRBLIrZylNO3aXWxt3Khs="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.5":{"name":"circuits","version":"0.2.5","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.5","dist":{"shasum":"b37aa08069165a664a59d4e1ef04715e977e1895","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.5.tgz","integrity":"sha512-cebB9qvKTxRQnuIrKfVW1oLKjMwWD4Pu48Lq6YAnNoCnW7ojYrqbU/2eCTkxN6HebN/1vCcjUQKG7bMniYGnUA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC3Rkf5E5jIbPE/IoY2GeDXAvVY/IUvTnWTam3HqVPsNgIgTdgQCrtJMB0b/hF9mfnoDtwO7yLx1F3JwV0hUh7kmDU="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.2.6":{"name":"circuits","version":"0.2.6","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.2.6","dist":{"shasum":"36f3f4b92373191c761746ad9d14e5b9189b105b","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.2.6.tgz","integrity":"sha512-332EaKbWz2N18Ez/7vROD4vBnuIF6Rav6zIM4nmK65e6PIqu0gYw3W9pdMlA8YLauqVP21YiHHMoGT8qY9zgig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAXj+IQ8tnVsnxZh8TKIivu+/fPL1TbK3n9M6E6ob98xAiEAsmirvxxG1q0Fbucj4MI7OniOpmXsDH04PE58gn/qA4E="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.3.0":{"name":"circuits","version":"0.3.0","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/romansky/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/romansky/circuits/issues"},"homepage":"https://github.com/romansky/circuits","_id":"circuits@0.3.0","dist":{"shasum":"56c2c63538c6f30b652bd93e4ba5c13eb415184a","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.3.0.tgz","integrity":"sha512-SFmSffiMxWe72ThaxCZzIYrxo22KDrBsGnWMHA6QdA5Vyc7n5uNdy1m0Bj6LColKzVSQfFaNtM4cJ5p2gJziRQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHPkM5v38dxWmOqPChM3/KHSA1Nbnh7svAaHa0aV7IMDAiAbc5KH1b0G8OIi+bW1Im20U7m5TcdwOPOCD5deDZea6w=="}]},"_from":".","_npmVersion":"1.4.6","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]},"0.3.1":{"name":"circuits","version":"0.3.1","description":"Node.js RESTful socket.io router - Minimalistic Style","main":"./index.js","keywords":["realtime","real-time","socket.io"],"repository":{"type":"git","url":"https://github.com/uniformlyrandom/circuits"},"dependencies":{"node-uuid":"^1.4.1","node-logr":">= 0.5.*","redis":"latest","socket.io-client":"1.*","socket.io":"1.*","backbone-typed":"0.1.*","backbone":"1.1.*","coffee-script":"latest"},"devDependencies":{"jasmine-node":"1.14.03"},"scripts":{"test":"cake test"},"engine":{"node":">=0.10.0"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"bugs":{"url":"https://github.com/uniformlyrandom/circuits/issues"},"homepage":"https://github.com/uniformlyrandom/circuits","_id":"circuits@0.3.1","dist":{"shasum":"f73a5d95fa7ba06d125ed7f58969214409dce59e","tarball":"https://registry.npmjs.org/circuits/-/circuits-0.3.1.tgz","integrity":"sha512-fmj4VRX4dgeRmBKbggI3xXsjYZX1Yd60X8OoTT97e5sZW/YNzootDuATq9zNoZHtgLPK39ybySNhxOpZJI8Faw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICgwRIjX2TToKBLv8mkdQFiEhYLwfLK2BWAl9Lf1HZlQAiEAxKUzS97iCzvMgmAEZTAOzf36aX6lLbPrFihDafOrLY4="}]},"_from":".","_npmVersion":"1.3.17","_npmUser":{"name":"romansky","email":"roman.land@gmail.com"},"maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}]}},"readme":"circuits \n====\n[![Build Status](https://travis-ci.org/uniformlyrandom/circuits.png)](https://travis-ci.org/uniformlyrandom/circuits)\n\nA simple socket-io framework for client and server communcation around CRUD operations\n\n## Usage\n\ninstall using npm\n\n\tnpm install circuits\n\nBasic client server example [source](https://github.com/uniformlyrandom/circuits/blob/master/examples/simple.coffee)\n\n```coffee\n# port to listen to\ntestPort = 8001\n# create a server\nhttpServer = http.Server()\n# instantiate a Circuits server with a controller router\nserver = new Server httpServer, (controller)->\n\tswitch controller\n\t\t# match against the requested router to a specific one\n\t\t# every router needs to implement the CRUD operation \n\t\t# it needs to support\n\t\twhen 'echo' then {\n\t\t\t\t\"read\" : (message, id, cb)-> \n\t\t\t\t\t# the first argument for the callback is \n\t\t\t\t\tcb(null,message)\n\t\t\t}\n\n\nhttpServer.listen testPort\n\nclient = sioc.connect(\"http://localhost:#{testPort}\")\n\nclient.on 'connect', ->\n\tclient.emit Operation, 'echo', CRUD.read, 'any bats in here?',(err, data)->\n\t\tif (data == 'any bats in here?')\n\t\t\tconsole.log 'No bats here I guess..'\n\t\t\tprocess.exit()\n```\n\nToDo:\nExample using Circuits with a Backbone model\nExample using Circuits with a Backbone collection\nExample using Circuits with Express framework\n\n\n## Whats in the box?\n\n#### create Circuits server instance\n\n`new circuits.Server( httpServer, controllerResolver, [acl, redisHost, redisDB, redis, redisPort, circuitChannel] )`\n\n - `httpServer` instance of `require('http').Server`\n - `controllerResolver` function that returns an object with mapping to CRUD operation for provided controller name\n - `acl` the ACL object, if none provided it allowes everything\n - `redisHost` IP address of your redis (default is \"127.0.0.1\")\n - `redisDB` redis db to use (default is 10 )\n - `redisPort` redis port (deault is 6379)\n - `circuitChannel` name space for communication between Circuits instances\n\n#### messages\n\n`circuits.Messages`\nis a map of String => String of supported Circuits messages\n\nthe `Operation` message is a request for a message to be dispatched to respective controller on the server \n\narguments\n\nname | type | description\n-----|------|------------\n`controller name` | `String` | the controller to dispatch this message to\n`crudOp` | `circuits.CRUD.{create,read..}` | the crud operation\n`params` | `Object` | parameters to be passed\n`operation params` | `Object*` | depending on the CRUD operation, a set of required fields\n\nrequired `operation params` for the different CRUD operations\n\n`CRUD.create`\n\nname | type | description\n-----|------|------------\n`data` | `Object` | the object to be created\n\n`CRUD.read`\n\nname | type | description\n-----|------|------------\n`id` | `String` | resource id\n\n`CRUD.update`\n\nname | type | description\n-----|------|------------\n`id` | `String` | resource id\n`data` | `Object` | the object to update with\n\n`CRUD.delete`\n\nname | type | description\n-----|------|------------\n`id` | `String` | resource id\n\n#### CRUD operations\n\n`circuits.CRUD`\n\nis simply a map of String => String of  \n`create`, `read, `update, `delete` and `patch`\n\n#### ACL\n\n`circuits.ACL` constructor arguments\n\nname | type | description\n-----|------|------------\n`rules` | `Object` | mapping of controllers to allowed crud operations and respective user groups\n`controller+crud groups` | `function(userID, callback = function(err, groups))` | function that returns groups for a given user ID\n`optional check` | `function(userID, model, modelId, crudOp, callback = function(message,boolean)` | an optional check for special cases were you want to enforce a finer grained ACL, for example for when only a creater of a resource is only allowed to do a write operation on that model..\n\nexample of a controller+crud group rules\n\n```javascript\n{\n\t\"MyModel\" : {\n\t\t\"create\" : [\"public\"],\n\t\t\"read\" : [\"public\"],\n\t\t\"update\" : [\"users\"],\n\t\t\"delete\" : []\n\t},\n\t\"SecretModel\" : {\n\t\t\"create\" : [\"users\"],\n\t\t\"read\" : [\"users\"],\n\t\t\"update\" : [\"users\"],\n\t\t\"delete\" : [\"users\"]\n\t}\n}\n```\n\nis simply an object mapping controllers to respective allowed crud operations\n\n\n\n## High Level Design\n\n<img src=\"https://docs.google.com/drawings/d/1ELXFEhsntD2jyYehrcceV-sUHDaTgFCz3Hw180TCKOs/pub?w=982&amp;h=867\">\n","maintainers":[{"name":"romansky","email":"roman.land@gmail.com"}],"time":{"modified":"2022-06-13T06:03:07.015Z","created":"2013-03-13T18:19:57.435Z","0.0.1":"2013-03-13T18:19:58.609Z","0.0.3":"2014-04-05T13:14:00.446Z","0.1.0":"2014-04-06T15:02:08.954Z","0.1.1":"2014-04-12T10:49:13.898Z","0.1.3":"2014-04-15T17:32:16.253Z","0.1.5":"2014-04-16T11:29:24.106Z","0.1.6":"2014-04-16T20:50:01.117Z","0.1.7":"2014-04-19T19:37:40.501Z","0.1.8":"2014-04-19T19:45:28.601Z","0.1.9":"2014-05-02T11:31:07.316Z","0.1.10":"2014-05-02T16:46:52.369Z","0.2.0":"2014-05-04T18:50:31.533Z","0.2.1":"2014-05-04T19:18:12.966Z","0.2.2":"2014-05-05T08:20:03.568Z","0.2.3":"2014-05-05T09:35:41.335Z","0.2.4":"2014-05-10T13:29:59.111Z","0.2.5":"2014-05-10T14:09:38.151Z","0.2.6":"2014-05-10T14:58:58.744Z","0.3.0":"2014-06-14T00:25:12.734Z","0.3.1":"2014-06-14T13:59:38.753Z"},"author":{"name":"Roman Landenband","email":"roman.land@gmail.com","url":"www.romansky.me"},"repository":{"type":"git","url":"https://github.com/uniformlyrandom/circuits"},"homepage":"https://github.com/uniformlyrandom/circuits","keywords":["realtime","real-time","socket.io"],"bugs":{"url":"https://github.com/uniformlyrandom/circuits/issues"},"readmeFilename":"README.md","users":{"mapharia":true}}