Sha256: 28c2117d4ecc9b3c9f0af2863a8c152c09782ddc41c250ed2d2cbc65aaea436c

Contents?: true

Size: 587 Bytes

Versions: 1

Compression:

Stored size: 587 Bytes

Contents

require 'i18n'

require 'errawr/error'
require 'errawr/mapper'
require 'errawr/version'

module Errawr
  I18n.load_path << "#{File.dirname(__FILE__)}/errawr/locales/en.yml"
  I18n.reload!
  
  def self.included(base)
    base.extend(ClassMethods)
  end
  
  module ClassMethods
    def error!(name, context = {})
      klass = Mapper[name] || Mapper[:unknown]
      klass.update_context(context) unless context.empty?
      raise klass
    end

    def register!(key, options = {})
      Mapper.register!(key, options)
    end
  end
  
  extend ClassMethods
  
  register!(:unknown)
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
errawr-1.1.6 lib/errawr.rb