Class: Errawr::Mapper

Inherits:
Object
  • Object
show all
Defined in:
lib/errawr/mapper.rb

Constant Summary collapse

@@errors =
{}

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object



9
10
11
# File 'lib/errawr/mapper.rb', line 9

def self.[](key)
  @@errors[key.to_sym]
end

.add(error) ⇒ Object



13
14
15
# File 'lib/errawr/mapper.rb', line 13

def self.add(error)
  @@errors[error.key] = error
end

.allObject



5
6
7
# File 'lib/errawr/mapper.rb', line 5

def self.all
  @@errors.dup
end

.register!(key, options = {}) ⇒ Object

Raises:

  • (ArgumentError)


17
18
19
20
21
22
# File 'lib/errawr/mapper.rb', line 17

def self.register!(key, options = {})
  base_klass = options[:base_class] || Error
  raise(ArgumentError, ':base_class must be a subclass of Errawr::Error') unless base_klass <= Error
  klass = Class.new(base_klass).new(key, options)
  add(klass)
end