Skip to content

v0.13.0

Compare
Choose a tag to compare
@github-actions github-actions released this 27 Aug 20:29
188b852

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

  • core: improve commit_config slightly (c1738b4)
  • core: improve config.committed? (283c9ca)

Miscellaneous Chores

Code Refactoring

  • can_have_stubbed_result: state explicitly cache backend (b2e4228)
  • has_j_send_result: rename HasResult to HasJSendResult (fd6846c)
  • has_j_send_status_and_attributes: use Jsend to JSend (ffb2642)
  • has_result_short_syntax: allow to pass message to failures (4a07a38)