Class: Cosmos::JsonRpcError

Inherits:
JsonRpc show all
Defined in:
lib/cosmos/io/json_rpc.rb

Overview

Represents a JSON Remote Procedure Call Error

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from JsonRpc

#<=>, #as_json, #to_json

Constructor Details

#initialize(code, message, data = nil) ⇒ JsonRpcError

Returns a new instance of JsonRpcError.

Parameters:

  • code (Integer)

    The error type that occurred

  • message (String)

    A short description of the error

  • data (Hash) (defaults to: nil)

    Additional information about the error



330
331
332
333
334
335
# File 'lib/cosmos/io/json_rpc.rb', line 330

def initialize(code, message, data = nil)
  super()
  @hash['code'] = code
  @hash['message'] = message
  @hash['data'] = data
end

Class Method Details

.from_hash(hash) ⇒ JsonRpcError

Creates a JsonRpcError object from a Hash

Parameters:

  • hash (Hash)

    Hash containing the following keys: code, message, and optionally data

Returns:



357
358
359
360
361
362
363
# File 'lib/cosmos/io/json_rpc.rb', line 357

def self.from_hash(hash)
  if hash['code'] and (hash['code'].to_i == hash['code']) and hash['message']
    self.new(hash['code'], hash['message'], hash['data'])
  else
    raise "Invalid JSON-RPC 2.0 Error"
  end
end

Instance Method Details

#codeInteger

Returns The error type that occurred.

Returns:

  • (Integer)

    The error type that occurred



338
339
340
# File 'lib/cosmos/io/json_rpc.rb', line 338

def code
  @hash['code']
end

#dataHash

Returns Additional information about the error.

Returns:

  • (Hash)

    Additional information about the error



348
349
350
# File 'lib/cosmos/io/json_rpc.rb', line 348

def data
  @hash['data']
end

#messageString

Returns A short description of the error.

Returns:

  • (String)

    A short description of the error



343
344
345
# File 'lib/cosmos/io/json_rpc.rb', line 343

def message
  @hash['message']
end