Sha256: ef61639c9d415178c60da20fe00d4114ed7a888e940d7eeac7f3e1b279e58ad0

Contents?: true

Size: 549 Bytes

Versions: 4

Compression:

Stored size: 549 Bytes

Contents

module Hexx

  # An exception to be raised by some method with given object.
  #
  # It is expected, that the object stores error messages in its <tt>errors</tt>
  # collection.
  #
  class RuntimeError < ::RuntimeError

    attr_reader :messages

    def initialize(object)
      fail ArgumentError unless object.is_a? UseCase
      @messages ||= object.errors.messages.values.flatten
    end

    def message
      @message ||= "#{ default }: #{ messages.join("; ") }"
    end

    private

    def default
      "Runtime error"
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hexx-1.1.1 lib/hexx/exceptions/runtime_error.rb
hexx-1.1.0 lib/hexx/exceptions/runtime_error.rb
hexx-1.0.2 lib/hexx/exceptions/runtime_error.rb
hexx-1.0.1 lib/hexx/exceptions/runtime_error.rb