Skip to content

v0.4.0

Latest
Compare
Choose a tag to compare
@z64 z64 released this 18 Apr 14:04
· 11 commits to master since this release
v0.4.0
58df800

This release accomplishes a small redesign of Stack and Context that makes the library simpler and more powerful for end users.

  • Discord::Middleware has been removed
  • Discord.add_ctx_property / Discord.add_ctx_property! has been removed
  • Middleware can now be any class that implements def call(payload, context, &block)
  • The middleware chain is advanced by yield-ing to the block passed to call
  • Context is reimplemented as a table of references
  • The client the middleware was registered on can be accessed as context[Discord::Client]
  • Each middleware in a chain is made available on context, i.e. context[MyMiddleware]

Big thanks to @RX14 for the recommendations and code examples that were the foundation of these changes.

See the updated README.md and documentation for more details.