Sha256: fc3f377b35ebef28e847c12cbeb9d8074a71bb4857aad6cd5520a17353c589b6

Contents?: true

Size: 716 Bytes

Versions: 2

Compression:

Stored size: 716 Bytes

Contents

module Aptible
  module Resource
    class Errors
      # rubocop:disable DuplicateMethods
      attr_accessor :status_code, :messages, :full_messages

      def self.from_exception(exception)
        new.tap do |errors|
          response_json = JSON.parse(exception.response.body)
          errors.messages = { base: response_json['message'] }
          errors.full_messages = [response_json['message']]
          errors.status_code = exception.response.status
        end
      end

      def messages
        @messages ||= {}
      end

      def full_messages
        @full_messages ||= []
      end

      def any?
        full_messages.any?
      end
      # rubocop:enable DuplicateMethods
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
aptible-resource-1.1.2 lib/aptible/resource/errors.rb
aptible-resource-1.1.1 lib/aptible/resource/errors.rb