Sha256: 70488d6e619ff66a23ab5b1529e02a931abe9b4a15bd4785babf9b961644944b

Contents?: true

Size: 772 Bytes

Versions: 11

Compression:

Stored size: 772 Bytes

Contents

module ManageIQ
  module API
    class Client
      class Error
        attr_reader :status
        attr_reader :kind
        attr_reader :message
        attr_reader :klass

        def initialize(status = 0, json_response = {})
          update(status, json_response)
        end

        def clear
          update(0)
        end

        def update(status, json_response = {})
          @status = status
          @kind, @message, @klass = nil
          error = json_response["error"]
          if status >= 400 && error.present?
            if error.kind_of?(Hash)
              @kind, @message, @klass = error.values_at("kind", "message", "klass")
            else
              @message = error
            end
          end
        end
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
manageiq-api-client-0.6.0 lib/manageiq/api/client/error.rb
manageiq-api-client-0.4.0 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.7 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.6 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.5 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.4 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.3 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.2 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.1 lib/manageiq/api/client/error.rb
manageiq-api-client-0.3.0 lib/manageiq/api/client/error.rb
manageiq-api-client-0.2.0 lib/manageiq/api/client/error.rb