lib/micro/case.rb in u-case-4.2.2 vs lib/micro/case.rb in u-case-4.3.0

- old
+ new

@@ -241,9 +241,24 @@ type = MapFailureType.call(value, type) __get_result(false, value, type) end + + def Check(type = nil, result: nil, on: Kind::Empty::HASH) + result_key = type || :check + + if value + result = on[:success] || { result_key => true } + + Success(type || :ok, result: result) + else + result = on[:failure] || { result_key => false } + + Failure(type || :error, result: result) + end + end + def __get_result(is_success, value, type) @__result.__set__(is_success, value, type, self) end def transaction(adapter = :activerecord)