Skip to content

Latest commit

 

History

History
62 lines (44 loc) · 4.18 KB

CHANGELOG.md

File metadata and controls

62 lines (44 loc) · 4.18 KB
  • use ThreadSafe::Cache instead of Hash for storing handlers (improved concurrency)
  • Bugfix: recover from (concurrent) handler removal adhearsion/punchblock#234
  • Bugfix: Clearing all handlers now works
  • Bugfix: Fix release pipeline
  • Bugfix: Ensure temp handlers are executed only once.
  • Improved documentation on how chained handlers execute via throw :pass, throw :halt, and not explicitly throwing.
  • Feature: Add a broadcast mode to handler triggering, which ignores what happens in handlers (return value and exceptions) and unconditionally continues the handler chain.
  • Bugfix: Correct API preservation from previous release
  • Bugfix: Preserve the old 'API' by which handlers were called
  • Bugfix: Report handler execution correctly in edge cases
  • Feature: Return true/false from #trigger_handler depending on wether a handler was called or not
  • Removed dependency on uuid gem in favour of the Ruby built-in SecureRandom.uuid
  • Feature: It is now possible to register a handler to process all events
  • Bugfix: Temporary handlers were being removed after the first event even if their guards didn't match
  • Bugfix: Fix for a syntax error on Ruby 1.8
  • Feature: Allow registering temporary (single execution) handlers which are removed after they are triggered
  • Feature: Registering a handler returns an ID by which it may be unregistered
  • Feature: Allow guarding on the value of method calls with arguments, by using an array as a hash key
  • Bump to 1.0.0 because the API is stable
  • Feature: Allow guarding with a module to test if an object has a mixin

0.1.1

  • Bugfix: Fix an exception when triggering an event when no handlers are set

0.1.0

  • Allow setting a priority with which to execute a handler, where higher priority handlers are exectuted first

0.0.3

  • Allow classes to be passed as guards, matching against an event via #is_a?

0.0.2

  • Bugfix: The mixin now does not hijack the target's initializer which was causing issues with inheritance

0.0.1

  • Feature: Some code that works!