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.
Types of changes:
- Added - for new features.
- Changed - for changes in existing functionality.
- Deprecated - for soon-to-be removed features.
- Removed - for now removed features.
- Fixed -- for any bug fixes.
- Security - in case of vulnerabilities.
0.6.0 - 2020-09-23
Flows::Plugin::Interface
basic implementationFlows::SharedContextPipeline
simple sub-pipelines injection
Flows::SharedContextPipeline
callbacks execution method is changed toinstance_exec
(previously was.call
)
Flows::Plugin::DependencyInjector
and modules generated byFlows::Util::InheritableSingletonVars::DupStrategy
now can be safely included several times in the inheritance chain
0.5.1 - 2020-06-29
Flows::SharedContextPipeline
wrap DSL failure in case of inheritance, issue
0.5.0 - 2020-05-18
Flows::SharedContextPipeline
wrap DSL, issueFlows::Flow
routing integrity check on initializationFlows::Plugin::OutputContract
skip contract DSL methodFlows::Plugin::Profiler
introduced. Report types: raw, tree and flat.
Flows::SharedContextPipeline
callback API, issueFlows::Util
modules API, issueFlows::Contract::CaseEq
default error expanded to present more context
0.4.0 - 2020-04-21
Flows::Contract
- type contracts with specific transformation feature.Flows::Flow
- fast and lightweight logic execution engine, designed for internal usage and library writers.Flows::Plugin::DependencyInjector
- simple dependency injection plugin for your classesFlows::Plugin::ImplicitInit
- allows to useMyClass.call
instead ofMyClass.new.call
, an class instance will be created once.Flows::Plugin::OutputContract
- plugin for output type checks and transformations for service objects which returnFlows::Result
.Flows::Railway
- stupid simple implementation of the railway pattern.Flows::Result
- general purpose Result Object designed after Rust Result type.Flows::Result::Do
- do-notation for Result Objects.Flows::SharedContextPipeline
- much more flexible adoption of the railway pattern for Ruby.Flows::Util::InheritableSingletonVars
- allows to define behavior for singleton variables in the context of inheritance.Flows::Util::PrependToClass
- allows to prepend some module to class even if target module did not included directly into class.