v0.13.0
0.13.0 (2023-08-27)
⚠ BREAKING CHANGES
- has_j_send_result: rename HasResult to HasJSendResult
- has_result_short_syntax: allow to pass message to failures
- core: disallow config commitment by missing private method
- can_have_stubbed_result: state explicitly cache backend
- has_j_send_status_and_attributes: use Jsend to JSend
Features
- alias: introduce CS alias (14652d7)
- array-based-cache: add array-based cache implementation (795888a)
- be_result: add trigger for BE_RESULT (d7a416e)
- be_result: introduce comparing_by (c304fa7)
- cache: introduce thread safe array (b592853)
- call_chain_next: introduce with_any_arguments (17316d1)
- can_be_own_result: introduce new plugin (ba7111c)
- can_be_tried: inroduce CanBeTried for result (9e68538)
- can_be_tried: introduce step try option (9c1f493)
- can_have_checked_status: refactor marks_result_status_as_checked to have an ability of a pure status check (86750dd)
- can_have_steps: allow to pass extra kwargs to step definition (bd867e3)
- can_have_steps: introduce Step#resolved_result (68ee612)
- can_have_stubbed_results: use thread safe array backend (45b9e24)
- can_have_try_result: introduce middleware (da24051)
- can_have_try_result: introduce Service.try_result (92914dc)
- can_have_try_result: introduce Service#try_result (521e80f)
- can_have_try_result: use in minimal config (bf1135d)
- can_utilize_finite_loop: introduce new plugin (b161ecf)
- collects_services_in_exception: add initial version of plugin (720267a)
- configs: add ok? and not_ok? aliases for success? and not_success? (5dfb378)
- core: add trigger for RESOLVE_METHOD_MIDDLEWARES_SUPER_METHOD (d419985)
- core: commit config from .new (9e252a0)
- core: introduce has_committed_config? (ae01495)
- core: introduce middleware arguments (5ca7868)
- core: introduce Middleware.with (4272262)
- core: introduce MiddlewareCreator (d1b6ce8)
- core: introduce observable middleware (f767a13)
- core: introduce observe and use_and_observe (c19f624)
- core: MiddlewareCreator#new (e36cee9)
- core: track method_missing commit triggers (f3a7264)
- debug: add Step#output_values without specs (b7e4712)
- delegate_to: add with_any_arguments (f296e53)
- depencency_container: introduce entry (a905b6e)
- feature: introduce initial feature (7413273)
- has_awesome_print_inspect: add initial has_awesome_print_inspect for result (8437efe)
- has_awesome_print_inspect: add initial has_awesome_print_inspect for service (0e5d3c0)
- has_awesome_print_inspect: add initial has_awesome_print_inspect for step (d192327)
- has_awesome_print_inspect: add initial HasAwesomePrintInspect for Data (b5a9b7b)
- has_inspect: show anonymous class (87cc634)
- has_inspect: show anonymous class (5dc7779)
- has_j_send_status_and_attributes: add public creators (a954ef2)
- has_j_send_status_and_attributes: allow to compare code by #=== (54b5025)
- has_j_send_status_and_attributes: allow to compare data by #=== (a5ce835)
- has_j_send_status_and_attributes: allow to compare message by #=== (ddd5ffd)
- has_j_send_status_and_attributes: introduce Code.=== (c2414cc)
- has_j_send_status_and_attributes: introduce Data.=== (d47202d)
- has_j_send_status_and_attributes: introduce Message.=== (f936fae)
- has_j_send_status_and_attributes: introduce Status.=== (494a9b3)
- has_j_send_status_and_attributes: link result to status, data, message, code (dd87723)
- has_j_send_status_and_attributes: respect RSpec argument matchers via #=== (c163b32)
- has_j_send_status_and_attributes: support partial data matching (154a4fd)
- has_jsend_status_and_attributes: allow user to provide Code, Data, Message and Status classes (ff9703e)
- has_mermaid_flowchart: introduce experimental flowchart (73475e6)
- has_result_status_check_short_syntax: Add two more short bool result checks (a8a8a8b)
- has_result: export commands.is_result? (17e6bb6)
- has_result: introduce Commands::IsResult (94e337a)
- logger: add version class (2e5b236)
- logger: provide fallback for older loggers (6bbefdc)
- method_middlewares: introduce #next_arguments (a878d51)
- middlewares: add intended entity (d1a5a0f)
- paint: add version class (118c650)
- rescues_result_unhandled_exceptions: read max_backtrace_size from middleware arguments (6d7de5e)
- result: introduce CanBeStubbed plugin (9a41145)
- ruby_middleware: add support of middleware creators (06bcc15)
- ruby: check if truffleruby (341ced1)
- service: extract RaisesOnNotResultReturnValue (4de15bc)
- sets_parent_to_foreign_result: include foreign result into parents enum (b680678)
- step: add Step#method_step? (caefe8e)
- stub_service: add trigger for STUB_SERVICE (047c835)
- stub_service: introduce Service::CountsStubbedResultsInvocations and Result::HasStubbedResultInvocationsCounter (88860a5)
- stub_service: use result stubs by service instances (3dde79b)
- support: add default for finite_loop (e1c14b9)
- support: introduce anything (4a4a287)
- support: safe_method (b37d735)
- support: ThreadSafeCounter#current_value= (bf703bb)
- utils: add protected option for Method#defined? (2bfd1f6)
- utils: introduce clamp_class (ae1712c)
- utils: introduce Class#display_name (5316ec1)
- utils: introduce Hash#assert_valid_keys (35b3f68)
- utils: introduce Hash#triple_equality_compare (4aeb91f)
- utils: introduce shorter Utils.to_bool (8713470)
- utils: introduce String.truncate (f08e053)
Bug Fixes
- be_result: do not always show JSend attributes (83c7d20)
- cache: change order of require (ba20e90)
- cache: remove accidentally added file (fac0105)
- can_be_stubbed_result: remove typo (cf9ece7)
- can_have_fallback: precheck status of fallback results (e7c0468)
- can_have_try_result: return copy to have fresh state (ba5e86d)
- can_have_user_provided_entity: include Core to proto entity as well (086d15c)
- contain_exactly: using
tally
method (9639f28) - core: disallow config commitment by missing private method (7b3a20b)
- core: disallow config commitment by missing private method (a40d5d1)
- has_j_send_status_and_attributes: compare by === manually since Hash does NOT have its own === (31d5782)
- has_j_send_status_and_attributes: correct comparison order (a9def90)
- has_result_status_check_short_syntax: Correct implementation of two methods (5cf6004)
- kwargs: add compatibility between Ruby 2 and 3 (a361ad7)
- method_collection: fix failed specs (baa7e1f)
- middleware_spec: removed unused require (0a39c4f)
- Remove /gemfiles directory (4f11a14)
- support: move lock to thread safe counter (b90f2e7)
- yard: remove colon in tags (81239d7)
Performance Improvements
Miscellaneous Chores
- release 0.13.0 (7373f3e)