Sha256: 2ccdcd0d1c44a353838660983e408eac9e7ad8428a72b9730fa5f25b9725ad63

Contents?: true

Size: 703 Bytes

Versions: 32

Compression:

Stored size: 703 Bytes

Contents

module Eligible
  class EligibleError < StandardError
    attr_reader :message
    attr_reader :http_status
    attr_reader :http_body
    attr_reader :json_body
    attr_reader :errors

    def initialize(message = nil, http_status = nil, http_body = nil, json_body = nil)
      @message = message
      @http_status = http_status
      @http_body = http_body
      @json_body = json_body
      @errors = (@json_body || {}).fetch(:errors, [])
    end

    def to_s
      status_string = @http_status.nil? ? '' : "(Status #{@http_status}) "
      json_errors = errors.presence || (json_body&.key?(:error) ? [json_body] : [])
      "#{status_string}#{@message}: #{json_errors.to_json}"
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
eligible-3.1.0.beta5 lib/eligible/errors/eligible_error.rb
eligible-3.1.0.beta4 lib/eligible/errors/eligible_error.rb
eligible-3.1.0.beta3 lib/eligible/errors/eligible_error.rb
eligible-3.1.0.beta2 lib/eligible/errors/eligible_error.rb
eligible-3.1.0.beta1 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta28 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta27 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta26 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta25 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta24 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta23 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta22 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta20 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta19 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta18 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta17 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta16 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta15 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta14 lib/eligible/errors/eligible_error.rb
eligible-3.0.0.beta13 lib/eligible/errors/eligible_error.rb