Sha256: 427bb557362b45a11451662f7b9c012d26e6f6fc7151d6745a4ae4b89d35a686

Contents?: true

Size: 530 Bytes

Versions: 3

Compression:

Stored size: 530 Bytes

Contents

# frozen_string_literal: true

module BCDD
  class Process
    class OutputSpec
      def initialize
        @success = {}
        @failure = {}
      end

      def Success(**spec)
        @success = spec.transform_values(&BCDD::Contract)
      end

      def Failure(**spec)
        @failure = spec.transform_values(&BCDD::Contract)
      end

      # :nodoc:
      def __result__
        { success: @success, failure: @failure }
      end

      private

      def contract
        ::BCDD::Contract
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bcdd-process-0.3.1 lib/bcdd/process/output_spec.rb
bcdd-process-0.3.0 lib/bcdd/process/output_spec.rb
bcdd-process-0.2.0 lib/bcdd/process/output_spec.rb