Change hooks control (deny_all_hooks_but / allow_all_hooks_but) to be more predictable
Prior to this, if one execute code like:
with cnx.hooks.deny_all_hooks_but('metadata'):
with cnx.hooks.deny_all_hooks_but():
# mycode
'metadata' hooks will be activated anyway in the inner block, which is rather
unexpected (of course in real life you only see the latest hooks control
statement, the former being higher in the call stack). This is due to the
underlying usage of old `enable_hook_categories` / `disable_hook_categories`
methods, which were introduced much before the now official context manager
based API (with `cnx.[deny|all]_all_hooks_but(...)`).
To move on, this patch drop the two legacy methods, rename and privatize related
internal state on the connection (`hooks_mode` becomes `_hooks_mode`,
`disabled_hook_cats` and `enabled_hook_cats` become `_hooks_categories`) and
reimplement the `_hooks_control` context manager to simply update them.
See the added unit test for details.
Javascript Coding Standards
---------------------------
(Draft, to be continued)
:Naming: camelCase, except for CONSTANTS
Indentation rules
~~~~~~~~~~~~~~~~~
- espace avant accolade ouvrante
- retour à la ligne après accolade ouvrante (éventuellement pas
de retour à la ligne s'il y a tout sur la même ligne, mais ce n'est
pas le cas ici.
- no tabs
Documentation
~~~~~~~~~~~~~
XXX explain comment format for documentation generation
Coding
~~~~~~
- Don't forget 'var' before variable definition, and semi-colon (';') after **each** statement.
- Check the firebug console for deprecation warnings
API usage
~~~~~~~~~
- unless intended, use jQuery('container') rather than jqNode('container')
See also
~~~~~~~~
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml