Sha256: 4f87adab6c339428113230d7ef012c93fa347dc9195b15de826de02fbc0e318d

Contents?: true

Size: 1.19 KB

Versions: 21

Compression:

Stored size: 1.19 KB

Contents

module BaseCRM
  class ConnectionError < StandardError
  end

  class ConfigurationError < StandardError
  end

  class BaseError < StandardError
    attr_reader :code, :message, :details

    def initialize(error)
      @data = error[:error]
      @meta = error[:meta]

      @code = @data[:code]
      @message = @data[:message]
      @details = @data[:details]
    end

    def to_s
      "code=#{@code} message=#{message} details=#{details}"
    end
  end

  class RequestError < BaseError
  end

  class ResourceError < BaseError
    attr_reader :resource, :field

    def initialize(error)
      super

      @resource = @data[:resource]
      @field = @data[:field]
    end

    def to_s
      super + " resource=#{@resource} field=#{@field}"
    end
  end

  class ServerError < BaseError
  end

  class ErrorsCollection < StandardError
    attr_reader :errors

    attr_reader :http_status, :logref
    alias_method :request_id, :logref


    def initialize(errors, meta)
      @errors = errors

      @http_status = meta[:http_status]
      @logref = meta[:logref]
    end

    def to_s
      status = "[#{@logref}] http_status=#{@http_status}\n"
      status + @errors.map(&:to_s).join("\n")
    end
  end
end

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
basecrm-2.0.0 lib/basecrm/errors.rb
basecrm-1.3.10 lib/basecrm/errors.rb
basecrm-1.3.9 lib/basecrm/errors.rb
basecrm-1.3.8 lib/basecrm/errors.rb
basecrm-1.3.7 lib/basecrm/errors.rb
basecrm-1.3.6 lib/basecrm/errors.rb
basecrm-1.3.5 lib/basecrm/errors.rb
basecrm-1.3.4 lib/basecrm/errors.rb
basecrm-1.3.3 lib/basecrm/errors.rb
basecrm-1.3.2 lib/basecrm/errors.rb
basecrm-1.3.1 lib/basecrm/errors.rb
basecrm-1.3.0 lib/basecrm/errors.rb
basecrm-1.2.3 lib/basecrm/errors.rb
basecrm-1.2.2 lib/basecrm/errors.rb
basecrm-1.2.1 lib/basecrm/errors.rb
basecrm-1.2.0 lib/basecrm/errors.rb
basecrm-1.1.3 lib/basecrm/errors.rb
basecrm-1.1.2 lib/basecrm/errors.rb
basecrm-1.1.1 lib/basecrm/errors.rb
basecrm-1.1.0 lib/basecrm/errors.rb