Class: Wamp::Client::Message::Error

Inherits:
Base
  • Object
show all
Defined in:
lib/wamp/client/message.rb

Overview

Error Error reply sent by a Peer as an error response to different kinds of requests. Formats:

[ERROR, REQUEST.Type|int, REQUEST.Request|id, Details|dict, Error|uri]
[ERROR, REQUEST.Type|int, REQUEST.Request|id, Details|dict, Error|uri, Arguments|list]
[ERROR, REQUEST.Type|int, REQUEST.Request|id, Details|dict, Error|uri, Arguments|list, ArgumentsKw|dict]

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Check

included

Constructor Details

#initialize(request_type, request_request, details, error, arguments = nil, argumentskw = nil) ⇒ Error

Returns a new instance of Error.



242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
# File 'lib/wamp/client/message.rb', line 242

def initialize(request_type, request_request, details, error, arguments=nil, argumentskw=nil)

  self.class.check_int('request_type', request_type)
  self.class.check_id('request_request', request_request)
  self.class.check_dict('details', details)
  self.class.check_uri('error', error)
  self.class.check_list('arguments', arguments, true)
  self.class.check_dict('argumentskw', argumentskw, true)

  self.request_type = request_type
  self.request_request = request_request
  self.details = details
  self.error = error
  self.arguments = arguments
  self.argumentskw = argumentskw

end

Instance Attribute Details

#argumentsObject

Returns the value of attribute arguments.



240
241
242
# File 'lib/wamp/client/message.rb', line 240

def arguments
  @arguments
end

#argumentskwObject

Returns the value of attribute argumentskw.



240
241
242
# File 'lib/wamp/client/message.rb', line 240

def argumentskw
  @argumentskw
end

#detailsObject

Returns the value of attribute details.



240
241
242
# File 'lib/wamp/client/message.rb', line 240

def details
  @details
end

#errorObject

Returns the value of attribute error.



240
241
242
# File 'lib/wamp/client/message.rb', line 240

def error
  @error
end

#request_requestObject

Returns the value of attribute request_request.



240
241
242
# File 'lib/wamp/client/message.rb', line 240

def request_request
  @request_request
end

#request_typeObject

Returns the value of attribute request_type.



240
241
242
# File 'lib/wamp/client/message.rb', line 240

def request_type
  @request_type
end

Class Method Details

.parse(params) ⇒ Object



264
265
266
267
268
269
270
271
272
# File 'lib/wamp/client/message.rb', line 264

def self.parse(params)

  self.check_gte('params list', 5, params.count)
  self.check_equal('message type', self.type, params[0])

  params.shift
  self.new(*params)

end

.typeObject



260
261
262
# File 'lib/wamp/client/message.rb', line 260

def self.type
  Types::ERROR
end

Instance Method Details

#payloadObject



274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
# File 'lib/wamp/client/message.rb', line 274

def payload
  self.arguments ||= []
  self.argumentskw ||= {}

  payload = [self.class.type]
  payload.push(self.request_type)
  payload.push(self.request_request)
  payload.push(self.details)
  payload.push(self.error)

  return payload if (self.arguments.empty? and self.argumentskw.empty?)
  payload.push(self.arguments)

  return payload if (self.argumentskw.empty?)
  payload.push(self.argumentskw)

  payload
end

#to_sObject



293
294
295
# File 'lib/wamp/client/message.rb', line 293

def to_s
  'ERROR > ' + self.payload.to_s
end