Sha256: 8bdf41c240d52ddd3ff40c49edae1a9fbf21bb98c8a07a9a65f4aa0b5e166376
Contents?: true
Size: 1.13 KB
Versions: 45
Compression:
Stored size: 1.13 KB
Contents
=begin {{> api_info}} =end module {{moduleName}} class ApiError < StandardError attr_reader :code, :response_headers, :response_body, :data # Usage examples: # ApiError.new # ApiError.new("message") # ApiError.new(:code => 500, :response_headers => {}, :response_body => "") # ApiError.new(:code => 404, :message => "Not Found") def initialize(arg = nil) if arg.is_a? Hash if arg.key?(:message) || arg.key?('message') super(arg[:message] || arg['message']) else super arg end arg.each do |k, v| instance_variable_set "@#{k}", v end else super arg end end # Override to_s to display a friendly error message def to_s message end def message if @message.nil? msg = "Error message: the server returns an error" else msg = @message end msg += "\nHTTP status code: #{code}" if code msg += "\nResponse headers: #{response_headers}" if response_headers msg += "\nResponse body: #{response_body}" if response_body msg end end end
Version data entries
45 entries across 45 versions & 1 rubygems