Sha256: d29b7429e35a4cb9518146fc079b8612818449bb72fd9fcd19c1122483c20bcf

Contents?: true

Size: 590 Bytes

Versions: 1

Compression:

Stored size: 590 Bytes

Contents

require 'i18n'

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

module Errawr
  I18n.load_path += Dir.glob('lib/errawr/locales/*.{rb,yml}')
  I18n.reload!
  
  def self.included(base)
    base.extend(ClassMethods)
  end
  
  module ClassMethods
    def error!(name, context = {})
      klass = Mapper[name] || Mapper[:unknown]
      klass.metadata.merge!(context.delete(:metadata) || {})
      klass.context.merge!(context)
      raise klass
    end

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
errawr-1.1.2 lib/errawr.rb