diff options
author | Samy Pessé <samypesse@gmail.com> | 2016-05-02 13:41:04 +0200 |
---|---|---|
committer | Samy Pessé <samypesse@gmail.com> | 2016-05-02 13:41:07 +0200 |
commit | 718e32773a43abf1ee98cbe39f4acf9f77982f46 (patch) | |
tree | e30c5a2988870ad454ce717f8b822d616ce59632 /lib/modifiers | |
parent | fb75d5d3ee01a50956e91424540aefcf75e8f3c3 (diff) | |
download | gitbook-718e32773a43abf1ee98cbe39f4acf9f77982f46.zip gitbook-718e32773a43abf1ee98cbe39f4acf9f77982f46.tar.gz gitbook-718e32773a43abf1ee98cbe39f4acf9f77982f46.tar.bz2 |
Add method removePlugin to ConfigModifier
Diffstat (limited to 'lib/modifiers')
-rw-r--r-- | lib/modifiers/config/index.js | 3 | ||||
-rw-r--r-- | lib/modifiers/config/removePlugin.js | 24 |
2 files changed, 26 insertions, 1 deletions
diff --git a/lib/modifiers/config/index.js b/lib/modifiers/config/index.js index 3c84f94..e88eb62 100644 --- a/lib/modifiers/config/index.js +++ b/lib/modifiers/config/index.js @@ -1,4 +1,5 @@ module.exports = { - addPlugin: require('./addPlugin') + addPlugin: require('./addPlugin'), + removePlugin: require('./removePlugin') }; diff --git a/lib/modifiers/config/removePlugin.js b/lib/modifiers/config/removePlugin.js new file mode 100644 index 0000000..8c58f16 --- /dev/null +++ b/lib/modifiers/config/removePlugin.js @@ -0,0 +1,24 @@ + +/** + Remove a plugin from a book's configuration + + @param {Book} book + @param {String} plugin + @return {Book} +*/ +function removePlugin(book, pluginName) { + var config = book.getConfig(); + var plugins = config.getValue('plugins', []); + + // Find index of this plugin + var index = plugins.findIndex(function(plugin) { + return plugin === pluginName; + }); + + plugins = plugins.delete(index); + config = config.setValue('plugins', plugins); + + return book.setConfig(config); +} + +module.exports = removePlugin; |