class Nucleon::Errors::NucleonError
Attributes
extra_data[RW]
Public Class Methods
error_key(key = nil, namespace = nil)
click to toggle source
# File lib/core/errors.rb 40 def self.error_key(key = nil, namespace = nil) 41 define_method(:error_key) { key } 42 error_namespace(namespace) if namespace 43 end
error_message(message)
click to toggle source
# File lib/core/errors.rb 48 def self.error_message(message) 49 define_method(:error_message) { message } 50 end
error_namespace(namespace)
click to toggle source
# File lib/core/errors.rb 55 def self.error_namespace(namespace) 56 define_method(:error_namespace) { namespace } 57 end
new(*args)
click to toggle source
Calls superclass method
# File lib/core/errors.rb 13 def initialize(*args) 14 key = args.shift if args.first.is_a?(Symbol) 15 message = args.shift if args.first.is_a?(Hash) 16 message ||= {} 17 18 @extra_data = message.dup 19 20 message[:key] ||= error_key 21 message[:namespace] ||= error_namespace 22 message[:key] = key if key 23 24 if message[:key] 25 message = translate_error(message) 26 else 27 message = error_message 28 end 29 30 super(message) 31 end
status_code(code)
click to toggle source
# File lib/core/errors.rb 62 def self.status_code(code) 63 define_method(:status_code) { code } 64 end
Public Instance Methods
error_key()
click to toggle source
# File lib/core/errors.rb 44 def error_key; nil; end
error_message()
click to toggle source
# File lib/core/errors.rb 51 def error_message; "No error message"; end
error_namespace()
click to toggle source
# File lib/core/errors.rb 58 def error_namespace; "nucleon.errors"; end
status_code()
click to toggle source
# File lib/core/errors.rb 65 def status_code; 1; end
Protected Instance Methods
translate_error(options)
click to toggle source
# File lib/core/errors.rb 70 def translate_error(options) 71 return nil unless options[:key] 72 I18n.t("#{options[:namespace]}.#{options[:key]}", options) 73 end