Sha256: 7e33c50cb5dc1337c7770cb8be8fb18d14af38aa8f28e73f94de128014589baf

Contents?: true

Size: 1.25 KB

Versions: 11

Compression:

Stored size: 1.25 KB

Contents

module Naver
  module Searchad
    module Api
      class Error < StandardError
        attr_reader :status_code
        attr_reader :header
        attr_reader :body

        def initialize(err, status_code: nil, header: nil, body: nil)
          @cause = nil

          if err.respond_to?(:backtrace)
            super(err.message)
            @cause = err
          else
            super(err.to_s)
          end
          @status_code = status_code
          @header = header unless header.nil?
          @body = body
        end

        def backtrace
          if @cause
            @cause.backtrace
          else
            super
          end
        end
      end # Error

      RedirectError = Class.new(Error)

      AuthorizationError = Class.new(Error)

      RequestError = Class.new(Error)

      RateLimitError = Class.new(Error)

      ServerError = Class.new(Error)

      UnknownError = Class.new(Error)

      TransmissionError = Class.new(Error)

      NotEnoughPermissionError = Class.new(RequestError)

      MissingRequiredAttributeError = Class.new(RequestError)

      InvalidRequestError = Class.new(RequestError)

      DuplicatedCampaignNameError = Class.new(RequestError)

      DuplicatedAdgroupNameError = Class.new(RequestError)
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
naver-searchad-api-1.1.2 lib/naver/searchad/api/errors.rb
naver-searchad-api-1.1.1 lib/naver/searchad/api/errors.rb
naver-searchad-api-1.1.0 lib/naver/searchad/api/errors.rb
naver-searchad-api-1.0.0 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.8 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.7 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.6 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.4 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.3 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.2 lib/naver/searchad/api/errors.rb
naver-searchad-api-0.0.1 lib/naver/searchad/api/errors.rb