diff --git a/lib/dry/operation.rb b/lib/dry/operation.rb index b05eab8..bec1447 100644 --- a/lib/dry/operation.rb +++ b/lib/dry/operation.rb @@ -26,19 +26,19 @@ module Dry # end # # def validate(input) - # # Dry::Monads::Result::Success or Dry::Monads::Result::Failure + # # Dry::Operation::Result::Success or Dry::Operation::Result::Failure # end # # def persist(attrs) - # # Dry::Monads::Result::Success or Dry::Monads::Result::Failure + # # Dry::Operation::Result::Success or Dry::Operation::Result::Failure # end # # def notify(user) - # # Dry::Monads::Result::Success or Dry::Monads::Result::Failure + # # Dry::Operation::Result::Success or Dry::Operation::Result::Failure # end # end # - # include Dry::Monads[:result] + # include Dry::Operation::Result::Mixin # # case MyOperation.new.call(input) # in Success(user) @@ -141,28 +141,30 @@ def self.loader private_constant :FAILURE_TAG extend ClassContext - include Dry::Monads::Result::Mixin - # Wraps block's return value in a {Dry::Monads::Result::Success} + Result = Dry::Monads::Result + include Result::Mixin + + # Wraps block's return value in a {Dry::Operation::Result::Success} # # Catches `:halt` and returns it # # @yieldreturn [Object] - # @return [Dry::Monads::Result::Success] + # @return [Dry::Operation::Result::Success] # @see #step def steps(&block) catching_failure { Success(block.call) } end - # Unwraps a {Dry::Monads::Result::Success} + # Unwraps a {Dry::Operation::Result::Success} # - # Throws `:halt` with a {Dry::Monads::Result::Failure} on failure. + # Throws `:halt` with a {Dry::Operation::Result::Failure} on failure. # - # @param result [Dry::Monads::Result] + # @param result [Dry::Operation::Result] # @return [Object] wrapped value # @see #steps def step(result) - if result.is_a?(Dry::Monads::Result) + if result.is_a?(Dry::Operation::Result) result.value_or { throw_failure(result) } else raise InvalidStepResultError.new(result: result) @@ -171,7 +173,7 @@ def step(result) # Invokes a callable in case of block's failure # - # Throws `:halt` with a {Dry::Monads::Result::Failure} on failure. + # Throws `:halt` with a {Dry::Operation::Result::Failure} on failure. # # This method is useful when you want to perform some side-effect when a # failure is encountered. It's meant to be used within the {#steps} block diff --git a/lib/dry/operation/errors.rb b/lib/dry/operation/errors.rb index c8bb859..35909e6 100644 --- a/lib/dry/operation/errors.rb +++ b/lib/dry/operation/errors.rb @@ -39,7 +39,7 @@ class InvalidStepResultError < Error def initialize(result:) super <<~MSG Your step must return `Success(..)` or `Failure(..)`, \ - from `Dry::Monads::Result`. Instead, it was `#{result.inspect}`. + from `Dry::Operation::Result`. Instead, it was `#{result.inspect}`. MSG end end diff --git a/spec/unit/operation_spec.rb b/spec/unit/operation_spec.rb index c1e6d90..ca12cfd 100644 --- a/spec/unit/operation_spec.rb +++ b/spec/unit/operation_spec.rb @@ -3,7 +3,7 @@ require "spec_helper" RSpec.describe Dry::Operation do - include Dry::Monads[:result] + include Dry::Operation::Result::Mixin describe "#steps" do it "wraps block's return value in a Success" do @@ -40,7 +40,7 @@ def foo(value) # Make sure we don't use pattern matching to extract the value, as that # would be a problem with a value that is an array. See - # https://https://github.com/dry-rb/dry-monads/issues/173 + # https://github.com/dry-rb/dry-monads/issues/173 it "is able to extract an array from a success result" do expect( described_class.new.step(Success([:foo])) @@ -62,7 +62,7 @@ def foo(value) .with_message( <<~MSG Your step must return `Success(..)` or `Failure(..)`, \ - from `Dry::Monads::Result`. Instead, it was `123`. + from `Dry::Operation::Result`. Instead, it was `123`. MSG ) end