Sha256: 1439e6c67ade3bee6b343bc3c765c95f4751f2029641ed1fdc090b689f9b6cbd
Contents?: true
Size: 865 Bytes
Versions: 65
Compression:
Stored size: 865 Bytes
Contents
require 'travis/client' module Travis module Client class Error < StandardError end class SSLError < Error end class NotFound < Error end class NotLoggedIn < Error end class RepositoryMigrated < Error end class ValidationFailed < Error attr_reader :errors def initialize(message = nil, *args) message = parse_message(message) if message super(message, *args) end def parse_message(message) response = JSON.load(message) message = response['message'].to_s if @errors = response['errors'] and @errors.any? readable = @errors.map { |e| "#{e['field']}: #{e['code'].gsub('_', ' ')}" } message += " (#{readable.join(', ')})" end message rescue JSON::ParserError message end end end end
Version data entries
65 entries across 65 versions & 1 rubygems