class ForemanAnsibleCore::Exception
Taken from Foreman core, this class creates an error code for any exception
Public Class Methods
calculate_error_code(classname, message)
click to toggle source
# File lib/foreman_ansible_core/exception.rb, line 9 def self.calculate_error_code(classname, message) return 'ERF00-0000' if classname.nil? || message.nil? basename = classname.split(':').last class_hash = Zlib.crc32(basename) % 100 msg_hash = Zlib.crc32(message) % 10_000 format 'ERF%02d-%04d', class_hash, msg_hash end
new(message, *params)
click to toggle source
# File lib/foreman_ansible_core/exception.rb, line 4 def initialize(message, *params) @message = message @params = params end
Public Instance Methods
code()
click to toggle source
# File lib/foreman_ansible_core/exception.rb, line 17 def code @code ||= Exception.calculate_error_code(self.class.name, @message) @code end
message()
click to toggle source
# File lib/foreman_ansible_core/exception.rb, line 22 def message # make sure it works without gettext too translated_msg = @message % @params "#{code} [#{self.class.name}]: #{translated_msg}" end
to_s()
click to toggle source
# File lib/foreman_ansible_core/exception.rb, line 28 def to_s message end