Sha256: 1f71c30b7d87b408f9b20621a039436b6f56348feb04190e965dba07de4b44c2
Contents?: true
Size: 1.44 KB
Versions: 11
Compression:
Stored size: 1.44 KB
Contents
module VagrantCloud class Error < StandardError class ClientError < Error class RequestError < ClientError attr_accessor :error_code attr_accessor :error_arr def initialize(msg, http_body, http_code) message = msg begin errors = JSON.parse(http_body) if errors.is_a?(Hash) vagrant_cloud_msg = errors['errors'] if vagrant_cloud_msg.is_a?(Array) message = msg + ' - ' + vagrant_cloud_msg.map(&:to_s).join(', ').to_s elsif !vagrant_cloud_msg.to_s.empty? message = msg + ' - ' + vagrant_cloud_msg.to_s end end rescue JSON::ParserError => err vagrant_cloud_msg = err.message end @error_arr = Array(vagrant_cloud_msg) @error_code = http_code.to_i super(message) end end class ConnectionLockedError < ClientError; end end class BoxError < Error class InvalidVersionError < BoxError def initialize(version_number) message = 'Invalid version given: ' + version_number super(message) end end class BoxExistsError < BoxError; end class ProviderNotFoundError < BoxError; end class VersionExistsError < BoxError; end class VersionStatusChangeError < BoxError; end class VersionProviderExistsError < BoxError; end end end end
Version data entries
11 entries across 10 versions & 2 rubygems