Sha256: 14e438bec908e857f517b83925e47c8570f5a5d3381ab398f303bc91716bfaa3
Contents?: true
Size: 481 Bytes
Versions: 7
Compression:
Stored size: 481 Bytes
Contents
# frozen_string_literal: true module Miteru # # Base class for services # class Service include Dry::Monads[:result, :try] def call(*args, **kwargs) raise NotImplementedError, "You must implement #{self.class}##{__method__}" end def result(...) Try[StandardError] { call(...) }.to_result end class << self def call(...) new.call(...) end def result(...) new.result(...) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems