Sha256: a0c6729d00c1eff21b52b72d2c6fecc97ee9fa84d275a599d0fce5030644a812

Contents?: true

Size: 820 Bytes

Versions: 1

Compression:

Stored size: 820 Bytes

Contents

module Celluloid
  # Responses to calls
  class Response
    attr_reader :call_id, :value

    def initialize(call_id, value)
      @call_id, @value = call_id, value
    end
  end

  # Call completed successfully
  class SuccessResponse < Response; end

  # Call was aborted due to caller error
  class ErrorResponse < Response
    def value
      if super.is_a? AbortError
        # Aborts are caused by caller error, so ensure they capture the
        # caller's backtrace instead of the receiver's
        p '#############'
        p '#############'
        p '#############'
        p super.cause.message
        p super.cause.backtrace.join("\n")
        p '#############'
        p '#############'
        raise super.cause.class.new(super.cause.message)
      else
        raise super
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
engineyard-serverside-1.5.28.pre9 lib/vendor/celluloid/lib/celluloid/responses.rb