Sha256: c66b72b151293802d3e6d88838dceb6f73fd5ab86803479a8b9806c808c3b85f

Contents?: true

Size: 617 Bytes

Versions: 54

Compression:

Stored size: 617 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
        raise super.cause.class.new(super.cause.message)
      else
        raise super
      end
    end
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
engineyard-serverside-2.0.4 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.5 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.3 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.2 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.1 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0.rc1 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0.pre5 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0.pre4 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0.pre3 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0.pre2 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-2.0.0.pre1 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.7.0.pre2 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4.pre6 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4.pre5 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4.pre4 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4.pre3 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4.pre2 lib/vendor/celluloid/lib/celluloid/responses.rb
engineyard-serverside-1.6.4.pre lib/vendor/celluloid/lib/celluloid/responses.rb