All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v1.2.0 - 2022-09-08
ActiveInteractor::Base.defer_after_callbacks_when_organized
ActiveInteractor::Organizer::Base.after_all_perform
ActiveInteractor::Organizer::Base.around_all_perform
ActiveInteractor::Organizer::Base.before_all_perform
v1.1.6 - 2022-04-25
- [#344] Bump activemodel and activesupport to v7.0.2.3
v1.1.4 - 2022-03-07
- [#340] Bump activemodel and activesupport to 6.1.4.6
v1.1.3 - 2022-02-16
- [#338] Bump activemodel and activesupport to 6.1.4.4
v1.1.2 - 2020-11-10
- #300
ActiveModel
andActiveSupport
v6.1 will be the highest supported version forActiveInteractor
v1.1.x
- #300
ActiveInteractor::Context::Error
compatibility withActiveModel
v6.1
v1.1.1 - 2020-10-21
- #267 Allow default attributes to propagate to sibling/child interactors
v1.1.0 - 2020-10-04
- #247 Support in place callbacks
v1.0.5 - 2020-09-15
- #200 Context attributes assigned in interactor not accessible as element within interactor
v1.0.4 - 2020-02-11
- #184
ActiveInteractor::Context::Base#fail!
error
v1.0.3 - 2020-02-10
ActiveInteractor::Context::Errors
ActiveInteractor::Context::Status#resolve
- #168
#classify
is called on const arguments - #169 If some of the interactors of the organizer fail error message is not persisted.
v1.0.2 - 2020-02-04
- Support for
Dynamoid
ORM - Support for
Mongoid
ORM
ActiveInteractor::Models#acts_as_context
no longer includesActiveModel::Validations
ActiveInteractor::Models#acts_as_context
now includesActiveInteractor::Context::Attributes
ActiveInteractor::Models::InstanceMethods#merge!
v1.0.1 - 2020-01-28
ActiveInteractor::Context::Attributes#attribute?
ActiveInteractor::Context::Attributes#has_attribute?
ActiveInteractor::Context::Base.attribute
ActiveInteractor::Context::Base.attribute_missing
ActiveInteractor::Context::Base.attribute_names
ActiveInteractor::Context::Base.method_missing
ActiveInteractor::Context::Base.respond_to?
ActiveInteractor::Context::Base.respond_to_without_attributes?
ActiveInteractor::Context::Base#attribute_missing
ActiveInteractor::Context::Base#attribute_names
ActiveInteractor::Context::Base#method_missing
ActiveInteractor::Context::Base#respond_to?
ActiveInteractor::Context::Base#respond_to_without_attributes?
ActiveInteractor::Interactor::Context#context_attribute_missing
ActiveInteractor::Interactor::Context#context_attribute_names
ActiveInteractor::Interactor::Context#context_respond_to_without_attributes?
ActiveInteractor::Interactor::Context::ClassMethods#context_attribute
ActiveInteractor::Interactor::Context::ClassMethods#context_attribute_missing
ActiveInteractor::Interactor::Context::ClassMethods#context_attribute_names
ActiveInteractor::Interactor::Context::ClassMethods#context_respond_to_without_attributes?
v1.0.0 - 2020-01-26
ActiveInteractor::Config
ActiveInteractor::Configurable
ActiveInteractor::Context::Attributes#merge!
ActiveInteractor::Context::Base#merge
ActiveInteractor::Context::Loader
ActiveInteractor::Context::Status
ActiveInteractor::Error::InvalidContextClass
ActiveInteractor::Models
ActiveInteractor::Organizer::Callbacks
ActiveInteractor::Organizer::InteractorInterface
ActiveInteractor::Organizer::InteractorInterfaceCollection
ActiveInteractor::Organizer::Organize
ActiveInteractor::Organizer::Perform
ActiveInteractor::Interactor::Context.contextualize_with
ActiveInteractor::Interactor::Context#context_fail!
ActiveInteractor::Interactor::Context#context_rollback!
ActiveInteractor::Interactor::Context#finalize_context!
ActiveInteractor::Interactor::Perform
ActiveInteractor::Interactor::Perform::Options
ActiveInteractor::Rails
ActiveInteractor::Rails::Railtie
ActiveInteractor::Base
now calls anActiveSupport.on_load
hook with:active_interactor
andActiveInteractor::Base
ActiveInteractor::Context::Attributes.attributes
now excepts arguments for attributesActiveInteractor::Interactor.perform
now takes optionsActiveInteractor::Interactor::Context.context_class
will now first attempt to find an existing context class, and only create a new context class if a context is not found.- Moved
ActiveInteractor::Organizer
toActiveInteractor::Organizer::Base
- interactor, organizer, and context generators now accept
context_attributes
as arguments.
- various rails generator fixes
ActiveInteractor::Configuration
useActiveInteractor::Config
ActiveInteractor::Context::Attributes.attributes=
useActiveInteractor::Context#attributes
ActiveInteractor::Context::Attributes.attribute_aliases
ActiveInteractor::Context::Attributes.alias_attributes
ActiveInteractor::Context::Attributes#clean!
ActiveInteractor::Context::Attributes#keys
ActiveInteractor::Interactor#fail_on_invalid_context?
ActiveInteractor::Interactor#execute_rollback
ActiveInteractor::Interactor#should_clean_context?
ActiveInteractor::Interactor#skip_clean_context!
ActiveInteractor::Interactor::Callbacks.allow_context_to_be_invalid
ActiveInteractor::Interactor::Callbacks.clean_context_on_completion
ActiveInteractor::Interactor::Context.context_attribute_aliases
ActiveInteractor::Interactor::Execution
ActiveInteractor::Interactor::Worker#run_callbacks
v0.1.7 - 2019-09-10
- Ensure
Organizer
accurately reports context success
v0.1.6 - 2019-07-24
- Lowered method complexity and enforced single responsibility
- Update simplecov: 0.16.1 → 0.17.0 (major)
- Update rake: 12.3.2 → 12.3.3 (patch)
v0.1.5 - 2019-06-30
ActiveInteractor::Error
module
ActiveInteractor::Context::Failure
in favor ofActiveInteractor::Error::ContextFailure
- Update rubocop: 0.67.2 → 0.72.0 (major)
- Various dependency updates
- Update yard: 0.9.19 → 0.9.20 (minor)
v0.1.4 - 2019-04-12
- The ability to alias attributes on interactor contexts.
v0.1.3 - 2019-04-01
- Implement
each_perform
callbacks on organizers
v0.1.2 - 2019-04-01
- Allow the directory interactors are generated in to be configurable
v0.1.1 - 2019-03-30
NameError
(uninitialized constantActiveInteractor::Organizer
)NoMethodError
(undefined methodmerge
forActiveInteractor::Context::Base
)
- Initial gem release