Sha256: b2dfe04c57af66fcd2665ab546cf1bfa74b1cb5376239095a1edadc5388edecf

Contents?: true

Size: 1.74 KB

Versions: 4

Compression:

Stored size: 1.74 KB

Contents

=begin
#Synctera API

#<h2>Let's build something great.</h2><p>Welcome to the official reference documentation for Synctera APIs. Our APIs are the best way to automate your company's banking needs and are designed to be easy to understand and implement.</p><p>We're continuously growing this library and what you see here is just the start, but if you need something specific or have a question, <a class='text-blue-600' href='https://synctera.com/contact' target='_blank' rel='noreferrer'>contact us</a>.</p>

The version of the OpenAPI document: 0.60.0

Generated by: https://openapi-generator.tech
OpenAPI Generator version: 6.5.0

=end

module SyncteraRubySdk
  class ApiError < StandardError
    attr_reader :code, :response_headers, :response_body

    # Usage examples:
    #   ApiError.new
    #   ApiError.new("message")
    #   ApiError.new(:code => 500, :response_headers => {}, :response_body => "")
    #   ApiError.new(:code => 404, :message => "Not Found")
    def initialize(arg = nil)
      if arg.is_a? Hash
        if arg.key?(:message) || arg.key?('message')
          super(arg[:message] || arg['message'])
        else
          super arg
        end

        arg.each do |k, v|
          instance_variable_set "@#{k}", v
        end
      else
        super arg
        @message = arg
      end
    end

    # Override to_s to display a friendly error message
    def to_s
      message
    end

    def message
      if @message.nil?
        msg = "Error message: the server returns an error"
      else
        msg = @message
      end

      msg += "\nHTTP status code: #{code}" if code
      msg += "\nResponse headers: #{response_headers}" if response_headers
      msg += "\nResponse body: #{response_body}" if response_body

      msg
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
synctera_ruby_sdk-1.1.3 lib/synctera_ruby_sdk/api_error.rb
synctera_ruby_sdk-1.1.2 lib/synctera_ruby_sdk/api_error.rb
synctera_ruby_sdk-1.1.1 lib/synctera_ruby_sdk/api_error.rb
synctera_ruby_sdk-1.0.0 lib/synctera_ruby_sdk/api_error.rb