nci/docs/developing-plugins/projects-collection.md

71 lines
2.8 KiB
Markdown
Raw Normal View History

- [ProjectsCollection()](#projectscollection)
- [ProjectsCollection.validateConfig():Function)](#projectscollectionvalidateconfigconfigobjectcallbackerrconfigfunction)
- [ProjectsCollection.load()]:Function)](#projectscollectionloadnamestringcallbackerrfunction)
- [ProjectsCollection.loadAll()]:Function)](#projectscollectionloadallcallbackerrfunction)
- [ProjectsCollection.unload()]:Function)](#projectscollectionunloadnamestringcallbackerrfunction)
- [ProjectsCollection.get()](#projectscollectiongetnamestring)
- [ProjectsCollection.getAll()](#projectscollectiongetall)
- [ProjectsCollection.filter()](#projectscollectionfilterpredicatefunction)
- [ProjectsCollection.getAvgBuildDuration():Function)](#projectscollectiongetavgbuilddurationnamestringcallbackerrdurationfunction)
- [ProjectsCollection.remove()]:Function)](#projectscollectionremovenamestringcallbackerrfunction)
- [ProjectsCollection.rename()]:Function)](#projectscollectionrenamenamestringcallbackerrfunction)
## ProjectsCollection()
Projects collection contains all currently loaded projects and provides
operations for manipulating with them.
All projects stored on disk in `baseDir` and loaded to memory so
they can be received (by `get`, `getAll` and other methods) in a sync way.
Note that id for the particular project is a `name` of that project.
## ProjectsCollection.validateConfig(config:Object, callback(err,config):Function)
Validate and return given config
## ProjectsCollection.load(name:String, [callback(err)]:Function)
Load project to collection.
`projectLoaded` event with loaded config as argument will be emitted after
load.
## ProjectsCollection.loadAll([callback(err)]:Function)
Load all projects (from `this.baseDir`).
Calls `load` for every project in a base dir.
## ProjectsCollection.unload(name:String, [callback(err)]:Function)
Unload project from collection
`projectUnloaded` event with unloaded config as argument will be emitted
after unload.
## ProjectsCollection.get(name:String)
Get project config by name.
Returns config object or undefined if project is not found.
## ProjectsCollection.getAll()
Get configs for all currently loaded projects.
Returns array of config objects.
## ProjectsCollection.filter(predicate:Function)
Get project configs which match to predicate.
Returns array of config objects or empty array if there is no matched
project.
## ProjectsCollection.getAvgBuildDuration(name:String, callback(err,duration):Function)
Calculates average build duration (in ms) for the given project
## ProjectsCollection.remove(name:String, [callback(err)]:Function)
Remove project by name.
Calls `unload`, removes project from disk and db.
## ProjectsCollection.rename(name:String, [callback(err)]:Function)
Rename project.
Renames project on disk and db, also changes name for loaded project.