Sha256: b82ee79052b26fa0e96805a7254c6fefc37d9b0d35f1a516827bd2f9b86b3d24
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
require 'ae/subjunctive' module AE # = Must # # "It is not enough to succeed. Others must fail." # --Gore Vidal (1925 - ) # # THIS IS AN OPTIONAL LIBRARY. # module Must # The #must method is functionaly the same as #should. # # 4.must == 3 #=> Assertion Error # # 4.must do # self == 4 # end # def must(*args, &block) Assertor.new(self, :backtrace=>caller).be(*args, &block) end # Same as 'object.must == other'. def must=(cmp) Assertor.new(self, :backtrace=>caller) == cmp end # Designate a negated expectation via a *functor*. # Read this as "must not". # # 4.must! == 4 #=> Assertion Error # def must!(*args, &block) Assertor.new(self, :backtrace=>caller).not.be(*args, &block) end # Perhaps not literally the counter-term to *must* (rather *will*), # it is close enough for our purposes and conveys the appropriate # semantics, and I think is more sightly than *mustnt*. # # This method may be deprecated in the future when Ruby 1.9 becomes # mainstream, as it allows for redefining *#!* as a method. alias_method :wont, :must! # Alias for #must! method. #alias_method :musnt , :must! end end class ::Object #:nodoc: include AE::Must end # Copyright (c) 2008,2009 Thomas Sawyer
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ae-1.7.4 | lib/ae/must.rb |