{"_id":"@flexshopper/hapi-methods","_rev":"26-a81a42e769cd12edbb6cf7841c7e83ba","name":"@flexshopper/hapi-methods","dist-tags":{"latest":"3.1.2"},"versions":{"1.0.4":{"name":"@flexshopper/hapi-methods","version":"1.0.4","keywords":[],"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","_id":"@flexshopper/hapi-methods@1.0.4","maintainers":[{"name":"ar4mirez","email":"angel@cuemby.com"}],"homepage":"https://github.com/FlexShopper/hapi-methods#readme","bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"dist":{"shasum":"0b478374404693b85df2bac5b8a5207a342c95cf","tarball":"https://registry.npmjs.org/@flexshopper/hapi-methods/-/hapi-methods-1.0.4.tgz","integrity":"sha512-rF4dBbo4RmChIi8wiEPRJWxSa67D7+1JK5rKOjGkVauSpl2lCsx0UR0NzD43sKRF8gov93bYvVy3eUCeLgneBA==","signatures":[{"sig":"MEUCIHDutZGvl24Rq/145D1w6OowX6R8iLwAKQ3cSzoRnfUeAiEAgEnvah/gz46MQkvlLjK5ecCoblb9DNsWAbLy+C9pvwo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"0b478374404693b85df2bac5b8a5207a342c95cf","gitHead":"039a7095d5e9cc0e286b97712a5c45dcb728872c","scripts":{"fix":"node_modules/fixpack/bin/fixpack","test":"node_modules/lab/bin/lab -t 100 -C -S -v -a code && gulp eslint","standards":"gulp"},"_npmUser":{"name":"ar4mirez","email":"angel@cuemby.com"},"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"_npmVersion":"3.8.1","description":"Hapi plugin to autoload methods.","directories":{},"_nodeVersion":"5.0.0","dependencies":{"joi":"^8.0.4","glob":"^7.0.3","hoek":"^3.0.4","cast-array":"^1.0.1"},"devDependencies":{"lab":"^8.2.0","code":"^2.1.0","gulp":"^3.9.1","hapi":"^13.0.0","eslint":"^2.4.0","fixpack":"^2.3.0","gulp-eslint":"^1.1.1","gulp-notify":"^2.2.0","estraverse-fb":"^1.3.1","eslint-config-yandex":"^1.0.6","eslint-config-flexshopper":"github:flexshopper/eslint-config"},"_npmOperationalInternal":{"tmp":"tmp/hapi-methods-1.0.4.tgz_1458158973186_0.947389873676002","host":"packages-13-west.internal.npmjs.com"}},"2.0.0":{"name":"@flexshopper/hapi-methods","version":"2.0.0","keywords":[],"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","_id":"@flexshopper/hapi-methods@2.0.0","maintainers":[{"name":"ar4mirez","email":"angel@cuemby.com"},{"name":"charlle","email":"charleston.malkemus@flexshopper.com"},{"name":"gills","email":"john.gills@flexshopper.com"},{"name":"mrferos","email":"me@andresgalindo.us"},{"name":"onel0p3z","email":"onel0p3z@gmail.com"},{"name":"travis-fs","email":"development@flexshopper.com"}],"homepage":"https://github.com/FlexShopper/hapi-methods#readme","bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"dist":{"shasum":"d7dbcdfed594acd69541bc8dde9e8ab635b1c8e2","tarball":"https://registry.npmjs.org/@flexshopper/hapi-methods/-/hapi-methods-2.0.0.tgz","integrity":"sha512-gBdLKXGRqSv44/BS4xGK82zIqihfjfALGWm2K7oCX3Mf8WOb+miQtDdLTONDmvbBBCn+CD9igCUo+2CKA44MgA==","signatures":[{"sig":"MEUCIQCHySx2/IDJ1LEGCOmbBy2OWOOrlm2se3GzIYHDf51frAIgHrXH08kqdBWCWhnRo6bWMql4QK8Wwk8RjODRYaylq9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"d7dbcdfed594acd69541bc8dde9e8ab635b1c8e2","gitHead":"f48a8cebd0200170e55fbd126ffeab37a0cc2dd3","scripts":{"fix":"node_modules/fixpack/bin/fixpack","test":"node_modules/lab/bin/lab -t 100 -C -S -v -a code && gulp eslint","standards":"gulp"},"_npmUser":{"name":"ar4mirez","email":"angel@cuemby.com"},"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"_npmVersion":"3.8.6","description":"Hapi plugin to autoload methods.","directories":{},"_nodeVersion":"6.1.0","dependencies":{"joi":"^8.4.2","glob":"^7.0.3","hoek":"^4.0.1","async":"^2.0.0-rc.6"},"devDependencies":{"lab":"^10.5.1","code":"^2.3.0","gulp":"^3.9.1","hapi":"^13.4.0","eslint":"^2.10.2","fixpack":"^2.3.1","nodemon":"^1.9.2","gulp-eslint":"^2.0.0","estraverse-fb":"^1.3.1","eslint-config-yandex":"^1.0.6","@flexshopper/eslint-config-flexshopper":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/hapi-methods-2.0.0.tgz_1466711853176_0.9134209689218551","host":"packages-16-east.internal.npmjs.com"}},"3.0.0":{"name":"@flexshopper/hapi-methods","version":"3.0.0","keywords":["hapi","plugin"],"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","_id":"@flexshopper/hapi-methods@3.0.0","maintainers":[{"name":"ar4mirez","email":"angel@cuemby.com"},{"name":"charlle","email":"charleston.malkemus@flexshopper.com"},{"name":"gills","email":"john.gills@flexshopper.com"},{"name":"mrferos","email":"me@andresgalindo.us"},{"name":"onel0p3z","email":"onel0p3z@gmail.com"},{"name":"travis-fs","email":"development@flexshopper.com"}],"homepage":"https://github.com/FlexShopper/hapi-methods#readme","bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"dist":{"shasum":"1511f7f33057ba7bc7336b704266ca761a8c0cab","tarball":"https://registry.npmjs.org/@flexshopper/hapi-methods/-/hapi-methods-3.0.0.tgz","integrity":"sha512-dGWK/m+jd1Sq/kM5DFHr54HMp84wv/QC93j1tBjlqRWy+13BcxrtEAaFDqU7rk8ALRXGfnf35b463P1YqHKVlw==","signatures":[{"sig":"MEUCIHeehB33WDU/hR0UCNqk16Bjy3+3bNyRZLqUJF3Xrlm+AiEA5TAJSXLJR2pvwRM6lD6+8F4DZjbsIZk6grO2kYy+RZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"1511f7f33057ba7bc7336b704266ca761a8c0cab","gitHead":"d5ec8e25651345df8b4616c2ed0a1b12b75f0f4a","scripts":{"dev":"nodemon lib/index.js -i logs","fix":"fixpack","test":"lab -t 100 -C -S -v -a code && npm run standards","start":"node lib/index.js","standards":"gulp eslint","test-cov-html":"lab -r html -o coverage/coverage.html"},"_npmUser":{"name":"ar4mirez","email":"angel@cuemby.com"},"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"_npmVersion":"3.10.3","description":"Hapi plugin to autoload methods.","directories":{},"_nodeVersion":"6.3.1","dependencies":{"joi":"^9.0.4","glob":"^7.0.3","hoek":"^4.0.1","async":"^2.0.0-rc.6","camelcase":"^3.0.0"},"devDependencies":{"lab":"^11.0.0","code":"^3.0.2","gulp":"^3.9.1","hapi":"^14.2.0","eslint":"^2.13.1","fixpack":"^2.3.1","nodemon":"^1.9.2","gulp-eslint":"^2.0.0","estraverse-fb":"^1.3.1","eslint-config-yandex":"^1.0.6","@flexshopper/eslint-config-flexshopper":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/hapi-methods-3.0.0.tgz_1471882254720_0.8004412220325321","host":"packages-16-east.internal.npmjs.com"}},"3.1.0":{"name":"@flexshopper/hapi-methods","version":"3.1.0","keywords":["hapi","plugin"],"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","_id":"@flexshopper/hapi-methods@3.1.0","maintainers":[{"name":"ar4mirez","email":"angel@cuemby.com"},{"name":"charlle","email":"charleston.malkemus@flexshopper.com"},{"name":"gills","email":"john.gills@flexshopper.com"},{"name":"mrferos","email":"me@andresgalindo.us"},{"name":"onel0p3z","email":"onel0p3z@gmail.com"},{"name":"travis-fs","email":"development@flexshopper.com"}],"homepage":"https://github.com/FlexShopper/hapi-methods#readme","bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"dist":{"shasum":"cd72fe24749993188558739cfa9f7c46c03820eb","tarball":"https://registry.npmjs.org/@flexshopper/hapi-methods/-/hapi-methods-3.1.0.tgz","integrity":"sha512-qKO7SInxZPz2TunNhBztG0nSVGOXanBYPhCHD+roNAIaOVNt4EmBTo9bUp3naWF/jNJflEXizK0K9fbwWN34Hw==","signatures":[{"sig":"MEYCIQD5dVkaJGrnQIOeoyC7d4KpUFa4eCisyE1DnRjSiBw1PgIhAI/CPfKTYoK9uQLjMJhyCRzCNSJmBlsNc+cUmiikk/f8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"cd72fe24749993188558739cfa9f7c46c03820eb","gitHead":"ba15cd1ebf54bbdfe5175e34a17af4a12353ba27","scripts":{"dev":"nodemon lib/index.js -i logs","fix":"fixpack","test":"lab -t 100 -C -S -v -a code && npm run standards","start":"node lib/index.js","standards":"gulp eslint","test-cov-html":"lab -r html -o coverage/coverage.html"},"_npmUser":{"name":"rolian85","email":"rolian85@gmail.com"},"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"_npmVersion":"2.15.1","description":"Hapi plugin to autoload methods.","directories":{},"_nodeVersion":"0.12.15","dependencies":{"joi":"^9.0.4","glob":"^7.0.3","hoek":"^4.0.1","async":"^2.0.0-rc.6","camelcase":"^3.0.0"},"devDependencies":{"lab":"^11.0.0","code":"^3.0.2","gulp":"^3.9.1","hapi":"^14.2.0","eslint":"^2.13.1","fixpack":"^2.3.1","nodemon":"^1.9.2","gulp-eslint":"^2.0.0","estraverse-fb":"^1.3.1","eslint-config-yandex":"^1.0.6","@flexshopper/eslint-config-flexshopper":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/hapi-methods-3.1.0.tgz_1482424360972_0.29554016003385186","host":"packages-18-east.internal.npmjs.com"}},"3.1.1":{"name":"@flexshopper/hapi-methods","version":"3.1.1","keywords":["hapi","plugin"],"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","_id":"@flexshopper/hapi-methods@3.1.1","maintainers":[{"name":"ar4mirez","email":"angel@cuemby.com"},{"name":"charlle","email":"charleston.malkemus@flexshopper.com"},{"name":"gills","email":"john.gills@flexshopper.com"},{"name":"mrferos","email":"me@andresgalindo.us"},{"name":"onel0p3z","email":"onel0p3z@gmail.com"},{"name":"travis-fs","email":"development@flexshopper.com"}],"homepage":"https://github.com/FlexShopper/hapi-methods#readme","bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"dist":{"shasum":"a4c794d8607b69a2d3f623ef809ee7edee0bdad9","tarball":"https://registry.npmjs.org/@flexshopper/hapi-methods/-/hapi-methods-3.1.1.tgz","integrity":"sha512-FaDReZro289bzmZ0ZpB1Ttk2DAKByKnJz8M8pb+TVLBqWJi7a55OFV6hih12FfjGKHcMCgaBfLnSJXMnE2AzyQ==","signatures":[{"sig":"MEQCIQCXnuPSCnsQ8PmRDrp7z8Eq7wR+ZXStSzAVbadwmJHXAAIfcJRR0ryoHd0THoihMRrFVZfMlx1mwPQ5Z3l6oNhKXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a4c794d8607b69a2d3f623ef809ee7edee0bdad9","gitHead":"c3b3c32a60e7a3b7aa965add1d8246570148d6b4","scripts":{"dev":"nodemon lib/index.js -i logs","fix":"fixpack","test":"lab -t 100 -C -S -v -a code && npm run standards","start":"node lib/index.js","standards":"gulp eslint","test-cov-html":"lab -r html -o coverage/coverage.html"},"_npmUser":{"name":"rolian85","email":"rolian85@gmail.com"},"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"_npmVersion":"2.15.1","description":"Hapi plugin to autoload methods.","directories":{},"_nodeVersion":"0.12.15","dependencies":{"joi":"^9.0.4","glob":"^7.0.3","hoek":"^4.0.1","async":"^2.0.0-rc.6","camelcase":"^3.0.0"},"devDependencies":{"lab":"^11.0.0","code":"^3.0.2","gulp":"^3.9.1","hapi":"^14.2.0","eslint":"^2.13.1","fixpack":"^2.3.1","nodemon":"^1.9.2","gulp-eslint":"^2.0.0","estraverse-fb":"^1.3.1","eslint-config-yandex":"^1.0.6","@flexshopper/eslint-config-flexshopper":"^3.0.3"},"_npmOperationalInternal":{"tmp":"tmp/hapi-methods-3.1.1.tgz_1482533035154_0.7970605546142906","host":"packages-18-east.internal.npmjs.com"}},"3.1.2":{"name":"@flexshopper/hapi-methods","version":"3.1.2","keywords":["hapi","plugin"],"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","_id":"@flexshopper/hapi-methods@3.1.2","maintainers":[{"name":"atasciuc","email":"atasciuc@gmail.com"},{"name":"charlle","email":"charleston.malkemus@flexshopper.com"},{"name":"gills","email":"john.gills@flexshopper.com"},{"name":"italoacasas","email":"me@italoacasas.com"},{"name":"mrferos","email":"me@andresgalindo.us"},{"name":"rolian85","email":"rolian85@gmail.com"},{"name":"travis-fs","email":"development@flexshopper.com"}],"contributors":[{"url":"https://github.com/kizzlebot","name":"James Choi","email":"james.choi@flexshopper.com"}],"homepage":"https://github.com/FlexShopper/hapi-methods#readme","bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"dist":{"shasum":"a65455f5f4c9590f5cb7514ad1156750bb83d674","tarball":"https://registry.npmjs.org/@flexshopper/hapi-methods/-/hapi-methods-3.1.2.tgz","integrity":"sha512-kdMYJ7Fts9y/RhqGbkJ4VZHFBdKd/O4Di4yn1PSsf85JBmnW0anM4IZYOIzqH6wYmzflWcbCEs2n0dXqhLymVw==","signatures":[{"sig":"MEYCIQCwtqk78HQXcbPH9q5R1DNlGwbA5sh7AxFbZBtKEzGOYgIhAJn0r4bWN1sNgj8hP1u9bo+2vocBNb4cF/FoqjyloupK","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"lib/index.js","_from":".","_shasum":"a65455f5f4c9590f5cb7514ad1156750bb83d674","gitHead":"76f823c670d9b86a48f9531f1dea7d17f8dbbc2b","scripts":{"fix":"fixpack","lint":"eslint --ignore-path .gitignore --fix .","test":"lab -t 100 -C -S -v -a code && npm run lint","test-cov-html":"lab -r html -o coverage/coverage.html"},"_npmUser":{"name":"rolian85","email":"rolian85@gmail.com"},"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"_npmVersion":"2.15.1","description":"Hapi plugin to autoload methods.","directories":{},"_nodeVersion":"0.12.15","dependencies":{"joi":"^9.0.4","glob":"^7.0.3","hoek":"^4.0.1","async":"^2.0.0-rc.6","lodash":"^4.17.4"},"eslintConfig":{"extends":"@flexshopper/flexshopper"},"devDependencies":{"lab":"^11.2.0","code":"^4.0.0","hapi":"^14.2.0","eslint":"^3.8.1","fixpack":"^2.3.1","nodemon":"^1.11.0","@flexshopper/eslint-config-flexshopper":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/hapi-methods-3.1.2.tgz_1485184583852_0.42477842327207327","host":"packages-18-east.internal.npmjs.com"}}},"time":{"created":"2016-03-16T20:09:35.727Z","modified":"2026-08-13T16:32:08.604Z","1.0.4":"2016-03-16T20:09:35.727Z","2.0.0":"2016-06-23T19:57:35.545Z","3.0.0":"2016-08-22T16:10:56.543Z","3.1.0":"2016-12-22T16:32:41.589Z","3.1.1":"2016-12-23T22:43:55.767Z","3.1.2":"2017-01-23T15:16:24.416Z"},"bugs":{"url":"https://github.com/FlexShopper/hapi-methods/issues"},"author":{"name":"Angel Ramirez","email":"angel.ramirez@flexshopper.com"},"license":"ISC","homepage":"https://github.com/FlexShopper/hapi-methods#readme","keywords":["hapi","plugin"],"repository":{"url":"git+https://github.com/FlexShopper/hapi-methods.git","type":"git"},"description":"Hapi plugin to autoload methods.","contributors":[{"url":"https://github.com/kizzlebot","name":"James Choi","email":"james.choi@flexshopper.com"}],"maintainers":[{"email":"administrator@flexshopper.com","name":"travis-fs"},{"email":"danish.kazmi@flexshopper.com","name":"danishkazmi"},{"email":"leo.stanley@flexshopper.com","name":"fs-lstanley"},{"email":"mario.carballosa@flexshopper.com","name":"mcarballosa"}],"readme":"# @flexshopper/hapi-methods\n[![Build Status][travis-badge]][travis-url]\n[![Dependencies][david-badge]][david-url]\n[![Dev dependencies][david-dev-badge]][david-url]\n\n[travis-badge]: https://travis-ci.com/FlexShopper/hapi-methods.svg?token=Y5c2Yh3HiTw9G5oH7ZkQ&branch=master\n[travis-url]: https://travis-ci.com/FlexShopper/hapi-methods\n[david-badge]: https://david-dm.org/flexshopper/hapi-methods.svg\n[david-dev-badge]: https://david-dm.org/flexshopper/hapi-methods/dev-status.svg\n[david-url]: https://david-dm.org/flexshopper/hapi-methods\n[david-dev-url]: https://david-dm.org/flexshopper/hapi-methods#info=devDependencies\n\nPlugin to autoload methods based on patterns.\n\n### How to use:\n- Install `hapi-methods` npm package in your project our plugin.\n`npm i @flexshopper/hapi-methods`\n- Register plugin in your hapi server:\n\n### Registering\n\n```javascript\nconst server = new Hapi.Server();\n\nserver.connection();\n\nserver.register({\n    register: require('hapi-methods'),\n    options: {\n        relativeTo: proccess.cwd() + '/methods',\n        includes: ['path/to/**/*methods.js'],\n        ignore: ['*.git'],\n    }\n}, (err) => {\n  // continue application\n});\n```\n\nmanifest style:\n```javascript\nregistrations: [\n    ...\n    {\n        plugin: {\n            register: 'hapi-methods',\n            options: {\n                relativeTo: proccess.cwd() + '/methods',\n                includes: ['path/to/**/*methods.js'],\n                ignore: ['*.git'],\n            }\n        }\n    }\n];\n```\n\n### Options\n##### includes\n\n*Required* <br/>\nType: `array`\n\nThe [glob](https://github.com/isaacs/node-glob) pattern you would like to include\n\n##### ignore\n\nType: `array`\n\nThe pattern or an array of patterns to exclude\n\n##### relativeTo\n\nType: `string`\n\nThe current working directory in which to search (defaults to `process.cwd()`)\n\n\n#### Route Signature\n```javascript\n'use strict';\n\nconst internals = module.exports = {};\n\ninternals.myNewMethod = {\n\n    method: (next) => {\n        return next();\n    },\n    options: {\n        cache: {\n            expiresIn: 60000,\n            generateTimeout: 60000\n        }\n    }\n};\n\ninternals.anotherMethod = {\n\n    // if method is defined as function(), 'this' value is bound to server instance\n    method: function(next) {\n\n        // 'this' is bound to server, thus it is equal to hapi server instance\n        expect(this.plugins).to.exist();\n\n        return next();\n    }\n};\n\n// This methods would be available as:\n\nserver.methods.methodFileName.myNewMethod();\nserver.methods.methodFileName.anotherMethod();\n```\n\n### Filename adapting\nNo matter what format your filenames are in, use camelcase to access the method.\n\nFor example, if a method file name is: `foo-bar.js`, it has a method named myMethod() inside.\nYou can access this method as:\n```javascript\nserver.methods.fooBar.myMethod();\n```\n\n### 'this' binding\nIf `internals.anotherMethod.method` is equal to regular function (non-arrow function)\n'this' will be bound to instance of `server`.\n\n","readmeFilename":"README.md"}