module ApiStruct::Extensions::DryMonads

Public Instance Methods

from_failure(error) click to toggle source
# File lib/api_struct/extensions/dry_monads.rb, line 15
def from_failure(error)
  ApiStruct::Errors::Entity.new(
    { status: error.status, body: error.body, error: true }, false
  )
end
from_monad(monad) click to toggle source
# File lib/api_struct/extensions/dry_monads.rb, line 4
def from_monad(monad)
  monad
    .fmap { |v| from_success(v) }.or_fmap { |e| from_failure(e) }.value!
end
from_success(value) click to toggle source
# File lib/api_struct/extensions/dry_monads.rb, line 9
def from_success(value)
  return Dry::Monads::Success(nil) if value.nil?

  value.is_a?(Array) ? collection(value) : new(value)
end