Sha256: d7088fa418aad15c2551b662fd6871944b565fd5d2fd58efd5640fbcb15e9086

Contents?: true

Size: 975 Bytes

Versions: 1

Compression:

Stored size: 975 Bytes

Contents

# frozen_string_literal: true

module GrpcMock
  module Response
    class ExceptionValue
      def initialize(exception)
        @exception = case exception
                     when String
                       StandardError.new(exception)
                     when Class
                       exception.new('Exception from GrpcMock')
                     when Exception
                       exception
                     else
                       raise ArgumentError.new(message: "Invalid exception class: #{exception.class}")
                     end
      end

      def evaluate(_request = nil)
        raise @exception.dup
      end
    end

    class Value
      def initialize(value)
        @value = value
      end

      def evaluate(_request = nil)
        @value.dup
      end
    end

    class BlockValue
      def initialize(block)
        @block = block
      end

      def evaluate(request)
        @block.call(request)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
grpc_mock-0.4.1 lib/grpc_mock/response.rb