class MysqlPR::Error

Constants

ERRNO

Attributes

error[R]
sqlstate[R]

Public Class Methods

define_error_class(prefix_re) click to toggle source
# File lib/mysql-pr/error.rb, line 8
def self.define_error_class(prefix_re)
  self.constants.each do |errname|
    errname = errname.to_s
    next unless errname =~ prefix_re
    errno = self.const_get errname
    excname = errname.sub(prefix_re,'').gsub(/(\A.|_.)([A-Z]+)/){$1+$2.downcase}.gsub(/_/,'')
    klass = Class.new self
    klass.const_set 'ERRNO', errno
    self.const_set excname, klass
    self::ERROR_MAP[errno] = klass
    MysqlPR::Error.const_set errname, errno
  end
end
new(message, sqlstate='HY000') click to toggle source
Calls superclass method
# File lib/mysql-pr/error.rb, line 24
def initialize(message, sqlstate='HY000')
  @sqlstate = sqlstate
  @error = message
  super message
end

Public Instance Methods

errno() click to toggle source
# File lib/mysql-pr/error.rb, line 30
def errno
  self.class::ERRNO
end