Sha256: 9feea134a48da5a8788c9f2f4d150ae5fc27b96524871d63bcb5d819ce879d9b
Contents?: true
Size: 1.48 KB
Versions: 3
Compression:
Stored size: 1.48 KB
Contents
require 'ae/core_ext' module AE # The Assertion class is simply a subclass of Exception that is used # by AE as the default error raised when an assertion fails. # # "The reserve of modern assertions is sometimes pushed to extremes, # in which the fear of being contradicted leads the writer to strip # himself of almost all sense and meaning." # -- Sir Winston Churchill (1874 - 1965) # # class Assertion < Exception # @deprecated # This will be removed in favor of `AE::Assertor.counts`. def self.counts AE::Assertor.counts end # New assertion (failure). # # @param message [String] the failure message # @param options [Hash] options such as :backtrace # def initialize(message=nil, options={}) super(message) backtrace = options[:backtrace] set_backtrace(backtrace) if backtrace set_assertion(true) end # Technically any object that affirmatively responds to #assertion? # can be taken to be an Assertion. This makes it easier for various # libraries to work together without having to depend upon a common # Assertion base class. def assertion? true end # Parents error message prefixed with "(assertion)". # # @return [String] error message def to_s '(assertion) ' + super end end end # Set top-level Assertion to AE::Assertion if not already present. Assertion = AE::Assertion unless defined?(Assertion)
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ae-1.8.2 | lib/ae/assertion.rb |
ae-1.8.1 | lib/ae/assertion.rb |
ae-1.8.0 | lib/ae/assertion.rb |