lib/universign/error.rb in ruby_universign-1.3.1 vs lib/universign/error.rb in ruby_universign-1.4.0

- old
+ new

@@ -1,14 +1,34 @@ module Universign - module Error - autoload :Client, 'client' - ERROR_CODE = { - 73002 => Universign::Client::ErrorWhenSigningPDF, # An error occured when signing the PDF document - 73010 => Universign::Client::InvalidCredentials, # The login and/or password are invalid. - 73025 => Universign::Document::UnknownDocument, # The used transaction id or custom id is invalid - 73027 => Universign::Document::NotSigned - } + class Error < ::StandardError + def self.match_class(code) + { + 73002 => Universign::ErrorWhenSigningPDF, # An error occured when signing the PDF document + 73010 => Universign::InvalidCredentials, # The login and/or password are invalid. + 73025 => Universign::UnknownDocument, # The used transaction id or custom id is invalid + 73027 => Universign::DocumentNotSigned + }.fetch(code, nil) + end + end - class UniversignError < StandardError; end - class NotEnoughTokens < UniversignError; end + class NotEnoughTokens < Error; end + + class ErrorWhenSigningPDF < Error; end + class InvalidCredentials < Error; end + class UnknownException < Error; end + + class UnknownDocument < Error; end + class DocumentNotSigned < Error; end + class MissingDocument < Error; end + class MetaDataMustBeAHash < Error; end + class DocumentURLInvalid < Error + attr_accessor :url + + def initialize(url) + @url = url + end + + def to_s + "Can't find document at '#{@url}'" + end end end