Sha256: daab1a68edce6d7ec1e8c6b72a37a8fc4be679714c6f9e6f6f41f2f9866e1440

Contents?: true

Size: 844 Bytes

Versions: 94

Compression:

Stored size: 844 Bytes

Contents

module ReeErrors
  class Error < StandardError
    include Ree::LinkDSL

    link :t, from: :ree_i18n

    def initialize(msg = nil)
      if !locale && !msg
        raise ArgumentError, "message or locale should be specified"
      end

      super(
        locale ? t(locale, default_by_locale: :en) : msg
      )
    end

    def type
      t = self.class.instance_variable_get(:@type)

      if !t
        raise ArgumentError.new(
          "type was not specified for domain error => #{self.inspect}"
        )
      end

      t
    end

    def locale
      self.class.instance_variable_get(:@locale)
    end

    def code
      c = self.class.instance_variable_get(:@code)

      if !c
        raise ArgumentError.new(
          "code was not specified for domain error => #{self.inspect}"
        )
      end

      c
    end
  end
end

Version data entries

94 entries across 94 versions & 1 rubygems

Version Path
ree_lib-1.0.94 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.93 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.92 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.91 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.90 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.89 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.88 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.87 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.86 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.85 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.84 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.83 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.82 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.81 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.80 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.79 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.78 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.77 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.76 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb
ree_lib-1.0.75 lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb