Extending yarm
You can add new resource definition helpers to yarm with yarm.extend()
, and the built-in native and mongoose helpers are actually defined this way. This is very useful when you use the same kind of resource customization on several resources.
yarm.extend("onlyOneProperty", function(path, object, property) {
// Use this.sub(...) to define "root" resources
var resource = this.sub(path)
.get(function(req, cb) {
cb(null, object[property]);
});
// Remember to return the resource to enable method chaining
return resource;
});
yarm.onlyOneProperty("path/to/object", { "rest": "Hey !" }, "rest");
app.use("/rest", yarm());
$ curl http://localhost/rest/path/to/object
Hey !