lib/blather/errors/sasl_error.rb in blather-0.2.3 vs lib/blather/errors/sasl_error.rb in blather-0.3.0
- old
+ new
@@ -4,84 +4,20 @@
class_inheritable_accessor :err_name
@@registrations = {}
register :sasl_error
- ##
- # Register the handler and type to simplify importing
- def self.register(handler, err_name)
- super handler
- self.err_name = err_name
- @@registrations[err_name] = self
- end
-
- ##
- # Retreive an error class from a given name
- def self.class_from_registration(err_name)
- @@registrations[err_name.to_s] || self
- end
-
- ##
- # Factory to create the proper error object from an error node
def self.import(node)
- err_name = node.children.first.element_name
- class_from_registration(err_name).new
+ self.new node
end
- ##
- # XMPP defined error name
- def err_name
- self.class.err_name
+ def initialize(node)
+ super()
+ @node = node
end
- ##
- # The receiving entity acknowledges an <abort/> element sent by the initiating entity; sent in reply to the <abort/> element.
- class Aborted < SASLError
- register :sasl_aborted_error, 'aborted'
- end
-
- ##
- # The data provided by the initiating entity could not be processed because the [BASE64] encoding is incorrect
- # (e.g., because the encoding does not adhere to the definition in Section 3 of [BASE64]); sent in reply to a <response/>
- # element or an <auth/> element with initial response data.
- class IncorrectEncoding < SASLError
- register :sasl_incorrect_encoding_error, 'incorrect-encoding'
- end
-
- ##
- # The authzid provided by the initiating entity is invalid, either because it is incorrectly formatted or because the
- # initiating entity does not have permissions to authorize that ID; sent in reply to a <response/> element or an <auth/>
- # element with initial response data.
- class InvalidAuthzid < SASLError
- register :sasl_invalid_authzid_error, 'invalid-authzid'
- end
-
- ##
- # The initiating entity did not provide a mechanism or requested a mechanism that is not supported by the receiving entity;
- # sent in reply to an <auth/> element.
- class InvalidMechanism < SASLError
- register :sasl_invalid_mechanism_error, 'invalid-mechanism'
- end
-
- ##
- # The mechanism requested by the initiating entity is weaker than server policy permits for that initiating entity; sent in
- # reply to a <response/> element or an <auth/> element with initial response data.
- class MechanismTooWeak < SASLError
- register :sasl_mechanism_too_weak_error, 'mechanism-too-weak'
- end
-
- ##
- # The authentication failed because the initiating entity did not provide valid credentials (this includes but is not limited
- # to the case of an unknown username); sent in reply to a <response/> element or an <auth/> element with initial response data.
- class NotAuthorized < SASLError
- register :sasl_not_authorized_error, 'not-authorized'
- end
-
- ##
- # The authentication failed because of a temporary error condition within the receiving entity; sent in reply to an <auth/>
- # element or <response/> element.
- class TemporaryAuthFailure < SASLError
- register :sasl_temporary_auth_failure_error, 'temporary-auth-failure'
+ def name
+ @node.children.first.element_name.gsub('-', '_').to_sym if @node
end
end #SASLError
end #Blather