Module: Exception2MessageMapper
| Relationships & Source Files | |
| Defined in: | lib/e2mmap.rb | 
Overview
Helper module for easily defining exceptions with predefined messages.
Usage
1.
class Foo
  extend Exception2MessageMapper
  def_e2message ExistingExceptionClass, "message..."
  def_exception :NewExceptionClass, "message..."[, superclass]
  #...
end2.
module Error
  extend Exception2MessageMapper
  def_e2message ExistingExceptionClass, "message..."
  def_exception :NewExceptionClass, "message..."[, superclass]
  #...
end
class Foo
  include Error
  #...
end
foo = Foo.new
foo.Fail ....3.
module Error
  extend Exception2MessageMapper
  def_e2message ExistingExceptionClass, "message..."
  def_exception :NewExceptionClass, "message..."[, superclass]
  #...
end
class Foo
  extend Exception2MessageMapper
  include Error
  #...
end
Foo.Fail NewExceptionClass, arg...
Foo.Fail ExistingExceptionClass, arg...Class Method Summary
- 
    
      .def_e2message(k, c, m)  
    
    E2MM.def_e2message(k, e, m). 
- 
    
      .def_exception(k, n, m, s = StandardError)  
    
    E2MM.def_exception(k, n, m, s). 
- .e2mm_message(klass, exp) (also: .message)
- .extend_object(cl)
- 
    
      Fail(klass = E2MM, err = nil, *rest)  
    
    Alias for .Raise. 
- 
    
      .message(klass, exp)  
    
    Alias for .e2mm_message. 
- 
    
      Raise(klass = E2MM, err = nil, *rest)  
      (also: .Fail)
    
    Fail(klass, err, *rest). 
Instance Method Summary
- #bind(cl)
- 
    
      #def_e2message(c, m)  
    
    def_e2message(c, m). 
- 
    
      #def_exception(n, m, s = StandardError)  
    
    def_exception(n, m, s). 
- 
    
      #fail(err = nil, *rest)  
    
    Alias for #Raise. 
- 
    
      Fail(err = nil, *rest)  
    
    Alias for #Raise. 
- 
    
      Raise(err = nil, *rest)  
      (also: #Fail, #fail)
    
    Fail(err, *rest). 
Class Method Details
.def_e2message(k, c, m)
E2MM.def_e2message(k, e, m)
k:  class to define exception under.
    e:  exception
    m:  message_form
define exception c with message m..def_exception(k, n, m, s = StandardError)
E2MM.def_exception(k, n, m, s)
k:  class to define exception under.
    n:  exception_name
    m:  message_form
    s:  superclass(default: StandardError)
define exception named ``c'' with message m..e2mm_message(klass, exp) Also known as: .message
[ GitHub ]# File 'lib/e2mmap.rb', line 154
def E2MM.(klass, exp) for c in klass.ancestors if mes = @MessageMap[[c,exp]] m = klass.instance_eval('"' + mes + '"') return m end end nil end
.extend_object(cl)
[ GitHub ]Fail(klass = E2MM, err = nil, *rest)
Alias for .Raise.
# File 'lib/e2mmap.rb', line 151
alias Fail Raise
.message(klass, exp)
Alias for .e2mm_message.
# File 'lib/e2mmap.rb', line 164
alias
Raise(klass = E2MM, err = nil, *rest) Also known as: .Fail
Fail(klass, err, *rest)
klass:  class to define exception under.
err:    exception
rest:   message argumentsInstance Method Details
#bind(cl)
[ GitHub ]# File 'lib/e2mmap.rb', line 63
def bind(cl) self.module_eval %[ def Raise(err = nil, *rest) Exception2MessageMapper.Raise(self.class, err, *rest) end alias Fail Raise def self.included(mod) mod.extend Exception2MessageMapper end ] end
#def_e2message(c, m)
def_e2message(c, m)
c:  exception
    m:  message_form
define exception c with message m.# File 'lib/e2mmap.rb', line 91
def (c, m) E2MM.(self, c, m) end
#def_exception(n, m, s = StandardError)
def_exception(n, m, s)
n:  exception_name
    m:  message_form
    s:  superclass(default: StandardError)
define exception named ``c'' with message m.# File 'lib/e2mmap.rb', line 101
def def_exception(n, m, s = StandardError) E2MM.def_exception(self, n, m, s) end
Fail(err = nil, *rest)
Alias for #Raise.
# File 'lib/e2mmap.rb', line 83
alias Fail Raise
#fail(err = nil, *rest)
Alias for #Raise.
# File 'lib/e2mmap.rb', line 84
alias fail Raise
Raise(err = nil, *rest) Also known as: #Fail, #fail
Fail(err, *rest)
err:    exception
rest:   message arguments