v0.3.0
Buckle up, we've got some breaking changes.
Fixed
- Some methods that previously raised
NoMethodError
exceptions now raiseNotImplementedError
exceptions. This is done in an effort to denote these methods as "abstract" methods.NoMethodError
is a subclass ofException
and notStandardError
so it is generally a bad idea to raise them without understanding the consequences, especially in a library such as this.
Changed
- Attributes of all kinds (input, success, and failure attributes) are now defined using dry-schema's schema DSL. Check out the revised README for more details. This change should prevent me from having to reinvent the wheel for validating attributes in general.
- Organizers now pass their input attributes into all organized interaktors' input attributes.
- Organized interaktors now pass their success attributes into all successive organized interaktors' input attributes.
- For example, when an organizer organizes interaktors A, B, C, and D, in that order, A's success attributes may be used as input attributes of B, C, and D. C's success attributes may be used as input attributes of D.
- Some exception messages are now benefiting from increased excellence.
Added
- Explicit support for Ruby 3.0.