Skip to content

Commit

Permalink
✨ Add cached #capabilities, #capable?(name), etc
Browse files Browse the repository at this point in the history
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
nevans committed Jul 22, 2023
1 parent 25d75d4 commit ecc6bd1
Show file tree
Hide file tree
Showing 3 changed files with 753 additions and 107 deletions.
Loading

0 comments on commit ecc6bd1

Please sign in to comment.