Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
✨ Add cached #capabilities, #capable?(name), etc
Updated methods: * `#initialize` - save capabilities in `OK` or `PREAUTH` greeting * `#capability` - always update saved capabilities * `#starttls` - always clear capabilities after tagged OK response * `#authenticate` - clear capabilities or update from tagged OK response * `#login` - clear capabilities or update from tagged OK response New methods: * `#capable?(name)` - the primary API for discovering capabilities * `#auth_capable?(name)` - returns whether a SASL mechanism is supported * `#capabilities` - calls `capability` when needed * `#capabilities_cached?` - whether capabilities are cached * `#clear_cached_capabilities` - clears the cache Also, many docs related to capabilities were reorganized and rewritten. Fixes ruby#31.
- Loading branch information