kamisama/Cake-Resque — pull request #28 by bar (2013-09-12 21:39:50+00:00)
Title: Ease personalized plugin configuration.

The concept is:
* Manage configuration inside a configuration file. This eases the configuration process when the default config is not the desired one.
* Move CakeResque logic inside the class.
* Strip bootstrap.php from unwanted bits.

There are many ways to configure the plugin:

1. This file is automagically loaded by the bootstrapping process, when no 'CakeResque' configuration key exists.
```
CakePlugin::load('CakeResque', array('bootstrap' => true));
```

2. If a 'CakeResque' configuration key already exists, then no default configuration is done and the configuration file loaded must have all the necessary keys to work.
```
Configure::load('my_cakeresque_config');
CakePlugin::load('CakeResque', array('bootstrap' => true));
```

3. The default configuration file, can also be loaded from the App's bootstrap file, and later modified (on demand) if needed. For this to work, the bootstrapping must be disabled when loading the plugin (before loading the configuration file), and later be done explicitly (after loading, and possibly modifying, the configuration file).
```
CakePlugin::load('CakeResque');
Configure::load('CakeResque.config');
// Edit configuration here
CakePlugin::load('CakeResque', array('bootstrap' => true));
```

4. Another way to configure the plugin is to load it using a custom bootstrap file.
```
CakePlugin::load('CakeResque', array('bootstrap' => 'my_bootstrap'));
// APP/Plugin/CakeResque/Config/my_bootstrap.php
require_once dirname(__DIR__) . DS . 'Lib' . DS . 'CakeResque.php';
$config = array(); // Custom configuration
CakeResque::init($config);
```