- Renamed config option
:auto_wire_options
to:auto_wire
at:dry_validation
plugin - Updated
Pathway::State#use
to accept block with postional parameters - Updated
Pathway::State#use
to raise anArgumentError
exception on invalid arguments
- Provide alias
Pathway::State#use
toPathway::State#unwrap
- Add
Pathway::State#unwrap
andPathway::State#u
to access internal state
- Add support for pattern matching on
Result
,State
andError
instances - Add
Pathway::Result::Mixin
to allow easy constant lookup forResult::Success
andResult::Failure
- Improve compatibility with Ruby 3.0
- Add plugin
:auto_deconstruct_state
to help migrating old apps to Ruby 3.0
- Use default error message on
:fetch_model
step, at:sequel_models
plugin, if model type cannot be determined
- Improve
from:
option for:fetch_model
step, at:sequel_models
plugin, to also accept a Sequel Dataset
- Improve custom
rspec
matchers for testing field presence on schemas
- Add support for
dry-validation
1.0 and above
- Restrict support for
dry-validation
from 0.11.0 up to (excluding) 1.0.0 - Changed behavior for
:transaction
step wrapper, on:sequel_models
plugin, to allow to take a single step name instead of block. - Changed behavior for
:after_commit
step wrapper, on:sequel_models
plugin, to allow to take a single step name instead of block.
- Various improvements on documentation and gemspec.
- Changed behavior for
:after_commit
step wrapper, on:sequel_models
plugin, to capture current state and reuse it later when executing.
- Allow invoking
call
directly on an operation class even if the:responder
plugin is not loaded.
- Added support for
dry-validation
0.12.x - Renamed DSL method
sequence
toaround
. Keepsequence
as an alias, although it may be deprecated on a future mayor release. - Renamed DSL method
guard
toif_true
. Keepguard
as an alias, although it may be deprecated on a future mayor release. - Added DSL method
if_false
, which behaves likeif_true
but checks if the passed predicate is false instead. - Moved
Responder
class inside theresponder
plugin module.
sequel_models
plugin now automatically adds an optional context parameter to preload the model and avoid hitting the db on:fetch_model
when the model is already available.- Added
:set_context_param
option forsequel_models
plugin to prevent trying to preload the model from the context. - Allow
authorization
block to take multiple parameters onsimple_auth
plugin.
- Allow
:error_message
option forsequel_models
plugin to propagate down inherited classes
- Updated default error message for
:fetch_model
step, atsequel_models
plugin, to indicate the model's name - Added
:error_message
option forsequel_models
plugin initializer to set the default error message - Added
:error_message
option for:fetch_model
step to override the default error message
- Replaced unmaintained
inflecto
gem withdry-inflector
- Changed behavior for
:fetch_model
step optionsearch_by:
to override both the search column and the input key (combine it withusing:
if you need a different value for the input key as well) :fetch_model
step will no longer hit the database if the input key is nil and just return a:not_found
error instead
- Changed base class for
Pathway::Error
fromStandardError
toObject
- Renamed
:authorization
plugin to:simple_auth
- Removed
build_model_with
method from:sequel_models
plugin
- New documentation for core functionality and plugins
- Renamed options
key:
andcolumn:
tousing:
andsearch_by:
, for:fetch_model
step, at:sequel_models
plugin
- Added new option
to:
for overriding where to store the result, for:fetch_model
step, at:sequel_models
plugin
- Removed
Error#error_type
(useError#type
instead) - Removed
Error#error_message
(useError#message
instead) - Removed
Error#errors
(useError#details
instead)
- Changed
:sequel_models
default value forsearch_by:
option from:id
to the model's primary key