Exception: Ably::Exceptions::BaseAblyException
- Inherits:
-
StandardError
- Object
- StandardError
- Ably::Exceptions::BaseAblyException
- Defined in:
- lib/ably/exceptions.rb
Overview
Base Ably exception class that contains status and code values used by Ably Refer to github.com/ably/ably-common/blob/master/protocol/errors.json
Direct Known Subclasses
ChannelInactive, CipherError, ConnectionError, EncoderError, ForbiddenRequest, IncompatibleClientId, InsecureRequest, InvalidRequest, InvalidResponseBody, InvalidState, InvalidStateChange, InvalidTokenRequest, MessageDeliveryFailed, MessageQueueingDisabled, PageMissing, ProtocolError, ResourceMissing, ServerError, Standard, TokenExpired, TokenRequestFailed, UnauthorizedRequest, UnsupportedDataType, Models::ErrorInfo
Instance Attribute Summary collapse
-
#code ⇒ String
readonly
Ably specific error code.
-
#message ⇒ String
readonly
Error message from Ably.
-
#status ⇒ String
readonly
HTTP status code of error.
Instance Method Summary collapse
- #as_json(*args) ⇒ Object
-
#initialize(message, status = nil, code = nil, base_exception = nil, options = {}) ⇒ BaseAblyException
constructor
A new instance of BaseAblyException.
- #to_s ⇒ Object
Constructor Details
#initialize(message, status = nil, code = nil, base_exception = nil, options = {}) ⇒ BaseAblyException
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/ably/exceptions.rb', line 18 def initialize(, status = nil, code = nil, base_exception = nil, = {}) super @base_exception = base_exception @status = status @status ||= base_exception.status if base_exception && base_exception.respond_to?(:status) @status ||= [:fallback_status] @code = code @code ||= base_exception.code if base_exception && base_exception.respond_to?(:code) @code ||= [:fallback_code] end |
Instance Attribute Details
#code ⇒ String (readonly)
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ably/exceptions.rb', line 15 class BaseAblyException < StandardError attr_reader :status, :code def initialize(, status = nil, code = nil, base_exception = nil, = {}) super @base_exception = base_exception @status = status @status ||= base_exception.status if base_exception && base_exception.respond_to?(:status) @status ||= [:fallback_status] @code = code @code ||= base_exception.code if base_exception && base_exception.respond_to?(:code) @code ||= [:fallback_code] end def to_s = [super] if status || code additional_info = [] additional_info << "code: #{code}" if code additional_info << "http status: #{status}" if status additional_info << "base exception: #{@base_exception.class}" if @base_exception << "(#{additional_info.join(', ')})" end .join(' ') end def as_json(*args) { message: "#{self.class}: #{message}", status: @status, code: @code }.delete_if { |key, val| val.nil? } end end |
#message ⇒ String (readonly)
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ably/exceptions.rb', line 15 class BaseAblyException < StandardError attr_reader :status, :code def initialize(, status = nil, code = nil, base_exception = nil, = {}) super @base_exception = base_exception @status = status @status ||= base_exception.status if base_exception && base_exception.respond_to?(:status) @status ||= [:fallback_status] @code = code @code ||= base_exception.code if base_exception && base_exception.respond_to?(:code) @code ||= [:fallback_code] end def to_s = [super] if status || code additional_info = [] additional_info << "code: #{code}" if code additional_info << "http status: #{status}" if status additional_info << "base exception: #{@base_exception.class}" if @base_exception << "(#{additional_info.join(', ')})" end .join(' ') end def as_json(*args) { message: "#{self.class}: #{message}", status: @status, code: @code }.delete_if { |key, val| val.nil? } end end |
#status ⇒ String (readonly)
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/ably/exceptions.rb', line 15 class BaseAblyException < StandardError attr_reader :status, :code def initialize(, status = nil, code = nil, base_exception = nil, = {}) super @base_exception = base_exception @status = status @status ||= base_exception.status if base_exception && base_exception.respond_to?(:status) @status ||= [:fallback_status] @code = code @code ||= base_exception.code if base_exception && base_exception.respond_to?(:code) @code ||= [:fallback_code] end def to_s = [super] if status || code additional_info = [] additional_info << "code: #{code}" if code additional_info << "http status: #{status}" if status additional_info << "base exception: #{@base_exception.class}" if @base_exception << "(#{additional_info.join(', ')})" end .join(' ') end def as_json(*args) { message: "#{self.class}: #{message}", status: @status, code: @code }.delete_if { |key, val| val.nil? } end end |
Instance Method Details
#as_json(*args) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/ably/exceptions.rb', line 42 def as_json(*args) { message: "#{self.class}: #{message}", status: @status, code: @code }.delete_if { |key, val| val.nil? } end |
#to_s ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/ably/exceptions.rb', line 30 def to_s = [super] if status || code additional_info = [] additional_info << "code: #{code}" if code additional_info << "http status: #{status}" if status additional_info << "base exception: #{@base_exception.class}" if @base_exception << "(#{additional_info.join(', ')})" end .join(' ') end |