{"_id":"ivy","_rev":"49-9e477927f5b8325f68adc396bdb5bb9a","name":"ivy","description":"Queue wrapper with node.js-ish interface.","dist-tags":{"latest":"0.2.2"},"versions":{"0.0.1":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.1","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1"},"devDependencies":{"coffee-script":"~1.6.3","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.1","dist":{"shasum":"b7bbfe9ca2bfb4ec377a753a1c6556cd169388e0","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.1.tgz","integrity":"sha512-+FKmnaNRmCqi64kHlC7BoqXUnZJDF4sq2BUAzUJMFmLLajClcdoD5FP63qGi6Cq78PrA+t4RYIc8Fq4eQwPazw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEAtLGE8OnvLZeYH8eLBUlJjwhaIuowFk8eEUTWGZjJPAiEAxiCYeUS2UAupEG09vt5mSoRQ6VFBhi2FYdUsUVS/HIU="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"}],"directories":{}},"0.0.2":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.2","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.2","dist":{"shasum":"7d216ec7799c8a6c62f4642909f6ee1afd9ab082","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.2.tgz","integrity":"sha512-nd0aec/gTbTEKmxLOcE7oZ8ynR2f5tn4N+y+zM4H3LVZxKFIJkI7o9Ak8ivzRbc++jl+hMVyQWbVhJz0e6Zjkw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFXhueITgHUqLLXa9/t4LIEmyyz37EA6oRBpKHaf2WNzAiBJiXXI8dtpfXd0msYjC365nUj70+JSgdeHaOqY46z+Bw=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"}],"directories":{}},"0.0.3":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.3","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.3","dist":{"shasum":"1ea529102e1e64662cdc82872958f9ac7738eb3b","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.3.tgz","integrity":"sha512-9ldAYDGxrcYlmqFzZIxy/fd08kQHl8TGrQSRN/w0x0Dkkn0O+goysupluN9WEjjUaHjUuPa5eD0CCJvhTI9hSQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBiBOd0nigu/+zotxRKiinnhTPUwhIEVzICC7Deet2GnAiB8cy4hMH7W0ATXw+vnZS1cNu8cW15CPAF8tyJkTyXFVw=="}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"}],"directories":{}},"0.0.4":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.4","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.4","dist":{"shasum":"c268bd86334fa44257250c0102fb92db74a30695","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.4.tgz","integrity":"sha512-ZorbwmZVQT93Ha/ucQagap+PTLLqYQWFtDx4xfeVBlZ8sQXWkHw4lEE0f3YQVSR9dZ3/Q3t4V7647P12CsT+ZQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCWtBSn7BPzy3dFKGyE+x/H3v9atimG9N0rQyukihFRGwIhAKje+QgfauhLKhQ5SftjiufIJI1RhOgAhchZoHePHgsy"}]},"_from":".","_npmVersion":"1.3.24","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"}],"directories":{}},"0.0.5":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.5","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.5","dist":{"shasum":"cde4ae9795223b326ac2e840965ea408218d4263","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.5.tgz","integrity":"sha512-mJMcT2BO6wPeU+VakOv3iD72GqdJ0F7d1L4LAHIHjfcu3/EI5Vr4Ig3X4cNPUfFvZMi3NorK/j9B1gYbQUTFpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCXBEWWwjSZcSdVelUDSa5WnODbWv24JOZNlntpJVDX2QIgH2MrCTVj5UP9/CpIZKbCS0RyNVCHTbZwyJ3FZ/sCDvs="}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"directories":{}},"0.0.6":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.6","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1","winston":"~0.7.3"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.6","dist":{"shasum":"1dcbb8b6e4f60bbe6a4c07935ae0537fdb644711","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.6.tgz","integrity":"sha512-SoU7uwB7rFuB7D46twWEHHfkdr0bLBEIbFIg6QWujOcoF39r0IVkvPEq8ngr8nCTZedF5PLHmHCEcU3shlniZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDfwS7428Swi6velkCkj2S9hDu/wyU4fe72uBirY2x36AIhAKepDzBWJ5VOlKD/TlJPmN7lwJ+Aujud7E9VF37Tijc5"}]},"_from":".","_npmVersion":"1.4.3","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"directories":{}},"0.0.7":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.7","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1","winston":"~0.7.3"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.7","_shasum":"f8c4bd8cef94cb71b790fb4bda5bd1da321bdaed","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"f8c4bd8cef94cb71b790fb4bda5bd1da321bdaed","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.7.tgz","integrity":"sha512-QbDetzN5fVG+2c0WC/+tmknCdfO3lxUIFRTXklohhpCG/sfbVXkR77SOUW4xXyfhOPhoWyb++5S7CvVDQTszCA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFEbhK/Gdj6JpRvucAl6NutweLcSlN+Q5jr3RUnxJSUeAiEA4Ld/t2iW4MNjWDsxsm1Ef9+6rQVwScJiVuNv3sZgdgs="}]},"directories":{}},"0.0.8":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.8","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","node-uuid":"~1.4.1","redis":"~0.10.0","hiredis":"~0.1.16","iron_mq":"~0.2.1","winston":"~0.7.3"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.8","_shasum":"77497d0837424898bb5fd90ba50404af114476db","_from":".","_npmVersion":"1.4.9","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"77497d0837424898bb5fd90ba50404af114476db","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.8.tgz","integrity":"sha512-/DJ2ItrBYaILNdUPJ1KcyDgICk4OHjnr97tW6n9w15rLgOHeZGTKi9XNyA5KyDzt172ZUXYoo32LnrmSe8Gpig==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGZ6c0QHXFjgR+qGef+yM7TDCqL/Xd6XC7G2JmQsOMdnAiEA/Nj2GtygmLcoxfHFIotaRc2TyWC0eYt39irk6HprDNc="}]},"directories":{}},"0.0.9":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.9","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.7.3"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"15946b1285a940111aae9e01b41a7a64b7b0dd74","homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.9","_shasum":"dba8cac32c3a1b4eefa48be90fd90d38abe798b7","_from":".","_npmVersion":"1.4.23","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"dba8cac32c3a1b4eefa48be90fd90d38abe798b7","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.9.tgz","integrity":"sha512-d/8O1mGfuMj3GIeAbpEaS1KzKKssBBZrE8Z4HArMU5soT9aS9aTvqulwxl+oXzyyYHSRzdYF0tRLu/D8YS+lsQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGgqql6gC97+ZDoAwk3fSNiSr4fe3qHNuvUDvEcV8dpcAiEAs7iGsDuU52E5y+NRLv0WUJMSux8VTjXXBQv0mrqhmkg="}]},"directories":{}},"0.0.10":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.0.10","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.7.3"},"devDependencies":{"coffee-script":"~1.7.1","chai":"~1.9.0","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"8382b9ec8f218c909588f90e44955c3ba4136a77","homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.0.10","_shasum":"37cc5d5e636757f8fc6245c8747276fc628fb8d3","_from":".","_npmVersion":"1.4.16","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"37cc5d5e636757f8fc6245c8747276fc628fb8d3","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.0.10.tgz","integrity":"sha512-KpD1XJFqTEuVuxxq9gkxSBaqVz3vj028rtCTBROtp7hnKeiaa5Pmc0poR1Mi/s23GRE5zHVis0OsFMtRlp/Smw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHl67O1sXKwvmOEZbS6mARMCL7GNTqxOe23ycOIkKZRzAiBeVqiUCPbFt9tpOAuI3a8Dhi8uRVPTRtMp+B+Q0+gQsw=="}]},"directories":{}},"0.1.0":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.0","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.7.3"},"devDependencies":{"chai":"~1.9.0","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"cb30724a83cc98baf1b878f2fcb04c12b7944304","homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.1.0","_shasum":"c565fa06d0c0ae7686873c953644ce055ab66e0a","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.36","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"c565fa06d0c0ae7686873c953644ce055ab66e0a","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.0.tgz","integrity":"sha512-P/vXKFuijIlLwHLtwMrofhthB53k432OWLs8FYlZPZswiV/P76T1Q0PLUVRtubhMJUUWhr9/cBhKfZvcT8i4kA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAuEF//D+ESTGqNK8DFzx7DRHOMbEZ24+M/G+u3l+awnAiEAhAOoOGj/5iD5DbIEd0ulUzV0fI31FO1mFucxncNfkxo="}]},"directories":{}},"0.1.1":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.1","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.7.3"},"devDependencies":{"chai":"~1.9.0","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"c1926f5b87118de3c626e038b703f0b0f88faf0a","homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.1.1","_shasum":"facc90a1a3ad687c64ac1cb37d2c44bf2a5a5b0a","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.36","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"facc90a1a3ad687c64ac1cb37d2c44bf2a5a5b0a","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.1.tgz","integrity":"sha512-qlmLbPcxNepDpapRyAVLMtb1iAuLbdijz7hWLq5oIterCmHUUhUpPrAvZVxrXdVL0al/1qcdeEx09NEJbD457g==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICrsXy9fqe8NfmUERgWp5Pi6CGxfFX1W3YNs0qNcK8TYAiEAhzJFU507bVkmHww6j/bK3uM4SdEra1Bl65lcuBh7ecU="}]},"directories":{}},"0.1.2":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.2","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.7.3"},"devDependencies":{"chai":"~1.9.0","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"65475d22a638de048decd4ccf48c50d2fc584bd8","homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.1.2","_shasum":"9a54fe76c15406ebbc19e11150ddd976e0ae491d","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.36","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"9a54fe76c15406ebbc19e11150ddd976e0ae491d","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.2.tgz","integrity":"sha512-8e3KrZgpPVeyYQzasKpIm8uKw4kS8lTyTeAkBUDrRHEpreLch+SDaHfJAxNGi0a2EexOn3zjQ03oMKPCP6IFzQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDCJG2GKcWrm/qR3zTiExjf/gSMDxpZS8Fq3kchaUce1QIgJv0a20B+t7Q0N6HAo4SPJTK/YNYLKwcqFcLxZehZcgY="}]},"directories":{}},"0.1.3":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.3","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.7.3"},"devDependencies":{"chai":"~1.9.0","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"http://github.com/apiaryio/ivy"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"861d2fc744d9b6f157b4d2d3a62f65143b83b192","homepage":"https://github.com/apiaryio/ivy","_id":"ivy@0.1.3","_shasum":"be3b390bd4c36cc2fe16f638659fdfc3e6d74f8d","_from":".","_npmVersion":"2.7.3","_nodeVersion":"0.10.36","_npmUser":{"name":"almad","email":"bugs@almad.net"},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"dist":{"shasum":"be3b390bd4c36cc2fe16f638659fdfc3e6d74f8d","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.3.tgz","integrity":"sha512-RnjD33dbdZDtIb3E12gu9bNC0WgJyHaffSYVxM51uxsAbOBwMtD7GL/XXMFT27XyiAwiBVc1aSsJ4AkLnKlbgw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBgoeOXbErRTD381ZySfG7Kc+O0Nk/tNCvZrz8dnGCU3AiAoUZMXJkSYnkSqjjIrEisAd8Z6RpeBHM7GyRDItTTpiw=="}]},"directories":{}},"0.1.4":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.4","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.9.0"},"devDependencies":{"chai":"~1.9.0","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"~1.17.1","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"098694303f1b147ed4f6c8c72aa861895b5f8fb7","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.1.4","_shasum":"e3eb5f90883423760bf6f16a90d97ef94be4fb68","_from":".","_npmVersion":"2.13.5","_nodeVersion":"0.10.40","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"dist":{"shasum":"e3eb5f90883423760bf6f16a90d97ef94be4fb68","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.4.tgz","integrity":"sha512-bsemHnDy1H2t5NCj8LPTV82VLxMrPjVKAj5gck1J5Ao2muauJzMP44S9iC1HL5rh4GNibaA5EJBxeGszI+v3xA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4dVgxJOO8MCLD07cOXWhl0QH1K4s5eGfFDNqCBbCb/wIgIv+epZbcgX4Q9D37O+BTHTq0iOV2bIEcQoh7VgOqRC8="}]},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"directories":{}},"0.1.5":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.5","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"039d236627e514a975fa21c501841dde8976efda","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.1.5","_shasum":"a6c639d9141b068d4bf8e3aa85ae568234438b75","_from":".","_npmVersion":"2.13.5","_nodeVersion":"0.10.40","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"dist":{"shasum":"a6c639d9141b068d4bf8e3aa85ae568234438b75","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.5.tgz","integrity":"sha512-H2RhqaPwx23z2705ucqvUkg9jzTrqya6CvjigLMH1/zI7lmbde6MOQ4hECROPsSqcadOAq73saFMcMTzVk06jw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDTBm9duK0meH8Co2KHKBBdCGHU13GbS2RFQXEUEJd05QIgEkWfZSe017nVN3nQhOtVR6Sb14BN83xZbLvvvtA+p0o="}]},"maintainers":[{"name":"almad","email":"bugs@almad.net"},{"name":"abtris","email":"ladislav@apiary.io"},{"name":"apiary","email":"lukas+npm@apiary.io"}],"directories":{}},"0.1.8":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.8","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.1.16","iron_mq":"~0.2.1","node-uuid":"~1.4.1","redis":"~0.10.0","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.7.1","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"3d7f11b1a6d0d4158211e70feabddfe9a408afa3","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.1.8","_shasum":"dd3b982c15c8f9810d7e842066aabab58a55c057","_from":".","_npmVersion":"2.14.14","_nodeVersion":"0.10.42","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"dist":{"shasum":"dd3b982c15c8f9810d7e842066aabab58a55c057","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.8.tgz","integrity":"sha512-9XG15S7FrQaTrdV3F8ReTIO9EE6LtOQowJnVSd1JS7KxqwqFJujsBrfMl0kB3N0SPGrFCiZmTSACRV9XGIu+Jg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICGD4POL+ykzLWtOzSdkJ7572Do2O5HHn0JP0RfL2/GKAiEA1Pb9dGqQrTXLL7peitb/KOR5j8tthXDDuMxKBdUIH+g="}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"}],"_npmOperationalInternal":{"host":"packages-5-east.internal.npmjs.com","tmp":"tmp/ivy-0.1.8.tgz_1455116590098_0.9579678177833557"},"directories":{}},"0.1.9":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.9","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.4.1","iron_mq":"~0.9.2","node-uuid":"~1.4.7","redis":"~2.4.2","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.10.0","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"a126caeb2735570f154045d9add3e50c037aace0","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.1.9","_shasum":"6e2abbe5fd6d849ab1ead5183b360cd2153ec085","_from":".","_npmVersion":"2.14.14","_nodeVersion":"0.10.42","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"dist":{"shasum":"6e2abbe5fd6d849ab1ead5183b360cd2153ec085","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.9.tgz","integrity":"sha512-KIo6S2EygZ96dpBZXDB1fYE9t2+wvon39AndV7UyGh+FFm9i1s3H3TqbTa+/pCe9YQ6wpkxFyqPq8lXiOR9X6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOXUZ3d1RvgIWTCDiq+LsXrB712Um4qkstnGit2gXQawIgL6olTi1VwYhF5ll/dU760YMkI+r8gvnliOW4zD0I3oY="}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"}],"_npmOperationalInternal":{"host":"packages-6-west.internal.npmjs.com","tmp":"tmp/ivy-0.1.9.tgz_1455174020856_0.04437475046142936"},"directories":{}},"0.1.10":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.10","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.4.1","iron_mq":"~0.9.2","node-uuid":"~1.4.7","redis":"~2.4.2","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.10.0","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"*"},"gitHead":"d3bee21ef1e0a5305a40b8745444ec38dca91b5b","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.1.10","_shasum":"8238e9af05b8d8319d7985e90407430f6e69d10a","_from":".","_npmVersion":"2.14.14","_nodeVersion":"0.10.42","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"dist":{"shasum":"8238e9af05b8d8319d7985e90407430f6e69d10a","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.10.tgz","integrity":"sha512-GzvW8IgFfAZC87ITVtaNGmGZHaJT0dzTikssafEE26+0L14cWbfAiIF1AJtClK9KVaIdPJcalvfuprxQNLouwg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCInCQQSYeAj+7OUoKhnaWUBmTQ5PE7nOSXTmnnVSNyVAIgXBiMgbjbjAJZJNEkW90+5gwflwbgtGh8ETQcLsmfTFU="}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"}],"_npmOperationalInternal":{"host":"packages-9-west.internal.npmjs.com","tmp":"tmp/ivy-0.1.10.tgz_1455200809426_0.6106149181723595"},"directories":{}},"0.1.11":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.1.11","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.4.1","iron_mq":"~0.9.2","node-uuid":"~1.4.7","redis":"~2.4.2","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.10.0","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"4"},"gitHead":"57fcfc7e9a892a3d91ed44c5a1dba3bc76f57db4","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.1.11","_shasum":"8eb855bfffd538e55bbc0bd5c8c08d5db89f59b0","_from":".","_npmVersion":"4.5.0","_nodeVersion":"7.8.0","_npmUser":{"name":"freaz","email":"omusil@gmail.com"},"dist":{"shasum":"8eb855bfffd538e55bbc0bd5c8c08d5db89f59b0","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.1.11.tgz","integrity":"sha512-us6v1ZqImuVXjNqmdqHnTrLyWEHEzukYO5en6LYhbYx4NEKvwKDlPmD/XRQXn5bCC+km/jyFOrb06V0y2mt+vw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFbeOyuohkVgs/jUL01M2+J1DjSyc8xuaawFImWuvxvKAiBOmmJeU6R9THpuTC5orvXHVJuLksrAd01PwxDZwrT4gA=="}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"},{"name":"freaz","email":"omusil@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/ivy-0.1.11.tgz_1494587916249_0.8291098615154624"},"directories":{}},"0.2.0":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.2.0","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.4.1","iron_mq":"~0.9.2","node-uuid":"~1.4.7","redis":"~2.4.2","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.10.0","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"4"},"gitHead":"c0707edb28c8e4c71a66489f06789ccf304d81fb","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.2.0","_shasum":"839fc955af0dd8b10203284bbfcb760fb302b163","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.10.2","_npmUser":{"name":"freaz","email":"omusil@gmail.com"},"dist":{"shasum":"839fc955af0dd8b10203284bbfcb760fb302b163","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.2.0.tgz","integrity":"sha512-Pi8sq3Gx3eHjT2vdvBpEOjicqphuLHoYuQHkMIU9QRpphi4oemd/d8PS8K+SMRZ8FLGd2NJekhiPCfL40H49QA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHz5puMLENgODPksdXSrLdfFYV2FRBaCB6HjiMPYcjFQAiA2JuOeUyF2CbBFEU9nA6YIq0VtBHOlcleJt70qhIiHZA=="}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"},{"name":"freaz","email":"omusil@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ivy-0.2.0.tgz_1494602539328_0.2213228337932378"},"directories":{}},"0.2.1":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.2.1","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.4.1","iron_mq":"~0.9.2","node-uuid":"~1.4.7","redis":"~2.4.2","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.10.0","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"4"},"gitHead":"a3da7cfccf0057082f8b2df1dbae2f9f1d2975b2","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.2.1","_shasum":"247340172b9fb673008d99d435e108117c284a65","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.10.3","_npmUser":{"name":"abtris","email":"ladislav@apiary.io"},"dist":{"shasum":"247340172b9fb673008d99d435e108117c284a65","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.2.1.tgz","integrity":"sha512-6McpCEN+tmayHra8mKqh+6C+WYOniaEM2MRWV0BnclBke38bHmnbISf+x8wOC/ErOWz19MNzZy3sHHxH5SW4gQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQhb4JY0nQ4d8VjcluyMQVGkeBFtJ0gEwzN1OeAKMasgIhAIIhCQaNVJR98JQJbsHll1r+U91/Bl949+s99G7I7hwL"}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"},{"name":"freaz","email":"omusil@gmail.com"},{"name":"vincenzo","email":"vincenzo@apiary.io"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ivy-0.2.1.tgz_1494766223534_0.6318272191565484"},"directories":{}},"0.2.2":{"name":"ivy","description":"Queue wrapper with node.js-ish interface.","version":"0.2.2","author":{"name":"Apiary Inc","email":"support@apiary.io"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"dependencies":{"async":"","hiredis":"~0.4.1","iron_mq":"~0.9.2","node-uuid":"~1.4.7","redis":"~2.4.2","winston":"~0.9.0"},"devDependencies":{"chai":"","coffee-script":"~1.10.0","grunt":"^0.4.5","grunt-bump":"0.0.15","grunt-cli":"^0.1.13","grunt-exec":"^0.4.6","mocha":"","sinon":""},"keywords":["queue"],"scripts":{"prepublish":"scripts/build","test":"mocha -c --reporter spec --timeout 5000 --compilers \"coffee:coffee-script/register\""},"licenses":[{"type":"MIT","url":"https://github.com/apiaryio/ivy/blob/master/LICENSE"}],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"main":"lib/","engines":{"node":"4"},"gitHead":"00b27d49f7b00dabdac3df687716c08cf74e999b","homepage":"https://github.com/apiaryio/ivy#readme","_id":"ivy@0.2.2","_shasum":"62a8e9787e0ad785eed17c177a588d36c13bc16f","_from":".","_npmVersion":"4.4.4","_nodeVersion":"6.10.3","_npmUser":{"name":"apiary-sre","email":"sre@apiary.io"},"dist":{"shasum":"62a8e9787e0ad785eed17c177a588d36c13bc16f","tarball":"https://registry.npmjs.org/ivy/-/ivy-0.2.2.tgz","integrity":"sha512-BPUMR5Ejr6xrAGQJOSXPR+ZsNW2eFe7Tb4gjr6H14jQByNPwOQrpT92K8zjloH8wZz5EWA4L35myH1SknW/veA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFnrG4v48oc06XckhDF0XD5qnR3wepblxMN8tu0y2SnOAiAbMsi2av/2l1Fun1PQn+3WBzGy7tuJeqT0UazpsuI5IA=="}]},"maintainers":[{"name":"abtris","email":"ladislav@apiary.io"},{"name":"almad","email":"bugs@almad.net"},{"name":"apiary","email":"lukas+npm@apiary.io"},{"name":"apiary-sre","email":"sre@apiary.io"},{"name":"freaz","email":"omusil@gmail.com"},{"name":"vincenzo","email":"vincenzo@apiary.io"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/ivy-0.2.2.tgz_1494873485090_0.6502421139739454"},"directories":{}}},"readme":"## Ivy\n\n[Ivy](https://github.com/apiaryio/ivy) is [node.js](http://nodejs.org) queue library focused on easy, yet flexible task execution.\n\n### Installation\n\nInstallation is done via NPM, by running ```npm install ivy```\n\n### Version 2 quick example (called TODO)\n\n```javascript\n\nvar ivy = require('ivy');\n\nvar factorial = function factorial(number, callback) {\n    callback(null, 42);\n}\n\nvar finished  = function resolved(result) {\n    console.log('result is', result);\n}\n\n\n// task must be explicitly registered for now\n// we'd like to change that in the future\n\n// Also, task must be both available and registered on both client\n// and producer\n\n// ...and name must be unique globally. \"package.module.submodule.function\"\n// pattern is highly encouraged.\nivy.registerTask(factorial, finished, {\n   'name':   'testpackage.factorial',\n   'queue':  'testpackage' //,\n//    'route':  'testpackage.route1',\n//    'priority': 0,\n//    retry:    true,\n//    maxRetries: 10\n});\n\nif (process.env.NODE_ENV==='producer') {\n\n  ivy.setupQueue({\n      type: 'ironmq',\n      auth: {\n          token:      process.env.IRONMQ_TOKEN      || 'dummy',\n          project_id: process.env.IRONMQ_PROJECT_ID || 'testpackage'\n      }\n      //, queue: 'testpackage' // optional, inferred from task\n  });\n\n\n  // optional, only if callback is registered\n  ivy.startNotificationConsumer({\n      'type': 'redis',\n      'url':  'redis://name:password@hostname:port'\n  });\n\n  // execute task\n  ivy.delayedCall(factorial, 5, function(err, result) {\n    console.log(\"Factorial result is\", result);\n  });\n\n}\nelseif (process.env.NODE_ENV==='worker') {\n    ivy.startNotificationProducer({\n        'type': 'redis',\n        'url':  'redis://name:password@hostname:port'\n    });\n    ivy.listen({\n        queue: 'testpackage',\n\n        type: 'ironmq',\n        auth: {\n            token:      process.env.IRONMQ_TOKEN   || 'dummy',\n            project_id: process.env.IRONMQ_PROJECT || 'testpackage'\n        },\n\n        // optional\n        messages: {\n            'testpackage.factorial': {\n                reserveTime: 60*60\n            }\n        }\n\n    });\n\n}\n\n```\n\n### Problem solved by Ivy\n\nIvy touches the following workflow:\n\n* Function execution is scheduled from application (\"producer\") in similar way as executing function directly\n* Call is serialized and transferred through queue to worker. Producer subscribes to notifier for completion\n  * Worker job is considered essential. It should be thus delivered through robust, HA queue, such as AMQP, RabbitMQ, SQS, IronMQ or similar.\n  * Arguments are send as a stringifyed JSON. There is no attempt to magically recover original object; called functions should thus rely only on attribute access, not method calls\n* Worker executes function on shared code base, with arguments fetched from queue task\n  * If execution errors, task stays in MQ or is returned there, depending on implementation\n  * If it fails permanently, please beware of JSON.stringify(new Error()) idiosyncrasy\n* Producer is notified back about completion\n  * Speed over robustness is preferred as this should be about notifying client back, not further work\n  * Thus, redis pub/sub is preferred\n  * If non-notification work should follow after execution is done, it should be scheduled as another task in MQ\n\n### Thoughts/assumptions:\n\n* Only tasks/functions with async interface supported. Assumptions:\n  * callback is last argument provided\n  * callback must be present\n  * first argument of callback signature is either Error or null\n\n* Think about context change\n  * Last callback is about placing task in queue as opposed to having direct callback\n  * However, extracting to named function is needed \n  * Multiple callbacks looks strange.\n\n* Explicit is better then implicit\n  * In first version, use explicit task registrations\n  * Leave continuation and function \"backresolve\" to v2\n  * We can implicitly decide whether notifications are producer or consumer: consumer when `listen` is invoked, producer when first `delayedCall` is executed. Make it explicit in v1, we'll see later.\n\n* Task registries must be same on both sides\n  * \"Protocol\" specification for backends in other languages\n\n* Serialization boundaries \n  * There are (mostly) no requirements on payload in queues\n  * Default \"protocol\" is JSON, should be separated into serialization module/package\n  * Protobufs should be neat choice\n\n### Naming and definitions\n\nThere are a lot of parts and components in distributed environment. This is how `Ivy` understands them.\n\n* **Producer**: Process that decides some task should not be processed by itself, but instead delegated to another process through queue.\n* **Caller**: Particular function/code where `ivy.delayedCall` has been called.\n* **Queue**: Service/process designed to dispatch messages between processes or services. It ideally processes them in (prioritized) FIFO with one time delivery. Also known as *broker*.\n* **Queue name**: Inside `Queue` services, `Message`'s are organized into separate, well, queues, identified by name. To avoid naming clashes, those are always referred to as `Queue names` instead of just \"queues\".\n* **Queue backend**: Particular piece of software implementing `Queue`'s role, i.e. `IronMQ`, `SQS`, `RabbitMQ`, ...\n* **Consumer**: Process designed to consume messages from `Queue` and processing them.\n* **Listener**: Part of the `Consumer` that listens to `Queue` and waits for `Message`s\n* **Message**: Structured data format placed in `Queue`, understood on both ends.\n* **Message serialization**: Particular serialization format used for placing `Message` into `Queue`, i.e. JSON.\n* **Message format**: Particular structure used for particular `Message serialization`, i.e. `{\"task\": \"taskname\", \"arguments\": []}` migth be an example `Message format` for JSON `Message serialization`.\n* **Task**: Function to be invoked on `Consumer`. May be parametrized by `Message`'s content.\n* **Scheduled Task**: A way to describe intent of invoking `Task` at some point.\n* **Task status**: A state that describes current state of `Scheduled Task` or `Task`. May be `scheduled` (successfully placed in `Queue`, but not consumed by `Consumer` yet), `running` (processing on consumer), `errored` (some state failed), `successfull` (processing done on consumer and `Notifier` successfully notified) and `done` (`successfull` + `Producer` successfully notified).\n* **Task result**: Data \"returned\" by `Task` upon its completion with the intent of informing `Producer` about it. While the primary purpose might be computation task that produces an output that is stored in database, it is *not* considered `Task result` if it's not intended for `Producer`. Result is an array of arguments given to `Task`'s callback.\n* **Task execution**: The act of running task on `Consumer`.\n* **Task arguments**: Array of arguments for the `Task` *excluding* the last one (that *must* be callback. I.e. for function `factorial = (number, cb)`, the `arguments` are `[number]`, i.e. `[5]`.\n* **Sending task** is an act of creating `ScheduledTask` by serializing original `delayedCall` call into `Message` and putting it in `Queue`.\n* **Consuming tasks** is an act of retrieving `Messages` from `Queue` on `Consumer` done by `Listener`.\n* **Caller resume**: The act of resuming the workflow back on `Producer`, done by calling callback passed to original `delayedCall`.  \n* **Task resolved**: Task has been executed and `Producer` notified -- or there has been an error.\n* **Notifier**: Service/process designed to inform `Producer` about `Task status` and/or `Task result`. Might be same piece of software/service as `Queue`.\n* **Notification channel**: Uniquely-named \"queue\" used to pass `Task result`s from *any* `Consumer` to *particular* `Producer`. \n* **Notifier backend**: Particular piece of software implementing `Notifier`'s role, i.e. `IronMQ`, `Redis`, ...\n\n### Encryption support for IronMQ\n\nIf you can encrypt all messages for better security add encryptionKey as password. We use `aes-256-cbc` algorithm for encrypt and decrypt messages.\n\n    ivy.setupQueue({\n        queue: 'testpackage',\n\n        type: 'ironmq',\n        auth: {\n            token:      process.env.IRONMQ_TOKEN      || 'dummy',\n            project_id: process.env.IRONMQ_PROJECT_ID || 'testpackage'\n        },\n        encryptionKey:  process.env.MESSAGES_ENCRYPTION_KEY\n    });\n\n## Development\n\n## Install grunt\n\n    npm -g install grunt-cli\n\n## Run tests\n\n    grunt\n\n## Release new version using [grunt-bump](https://github.com/vojtajina/grunt-bump)\n\n    grunt bump\n    grunt bump:minor\n    grunt bump:major\n\nand\n\n    npm publish\n\n## Using Docker\n\n### Installation\n\n    docker-compose build\n\n### Running tests\n\n    docker-compose run ivy\n","maintainers":[{"email":"omusil@gmail.com","name":"freaz"},{"email":"ladislav@prskavec.net","name":"abtris"},{"email":"jakub.koral@gmail.com","name":"kubakubula"},{"email":"sre@apiary.io","name":"apiary-sre"}],"time":{"modified":"2022-06-19T03:25:10.110Z","created":"2014-02-16T11:33:17.105Z","0.0.1":"2014-02-16T11:33:17.105Z","0.0.2":"2014-02-20T12:48:57.209Z","0.0.3":"2014-02-20T14:40:33.680Z","0.0.4":"2014-04-29T22:37:21.821Z","0.0.5":"2014-04-30T08:26:35.678Z","0.0.6":"2014-05-05T06:08:24.980Z","0.0.7":"2014-05-06T11:21:20.797Z","0.0.8":"2014-05-16T12:40:43.977Z","0.0.9":"2014-08-27T15:08:56.064Z","0.0.10":"2014-09-02T12:10:09.755Z","0.1.0":"2015-04-15T15:23:02.369Z","0.1.1":"2015-04-15T21:04:38.318Z","0.1.2":"2015-04-15T23:28:10.756Z","0.1.3":"2015-04-15T23:44:50.403Z","0.1.4":"2015-09-24T13:42:58.002Z","0.1.5":"2015-11-12T14:48:57.672Z","0.1.8":"2016-02-10T15:03:11.777Z","0.1.9":"2016-02-11T07:00:24.121Z","0.1.10":"2016-02-11T14:26:52.806Z","0.1.11":"2017-05-12T11:18:37.718Z","0.2.0":"2017-05-12T15:22:21.629Z","0.2.1":"2017-05-14T12:50:25.701Z","0.2.2":"2017-05-15T18:38:07.197Z"},"readmeFilename":"README.md","homepage":"https://github.com/apiaryio/ivy#readme","keywords":["queue"],"repository":{"type":"git","url":"git+ssh://git@github.com/apiaryio/ivy.git"},"contributors":[{"name":"Lukas Linhart","email":"lukas@apiary.io"}],"author":{"name":"Apiary Inc","email":"support@apiary.io"},"bugs":{"url":"http://github.com/apiaryio/ivy/issues"},"users":{"abtris":true,"fgribreau":true,"kubakubula":true}}