Sha256: 118208f161cdbefd731d09b6b18def5ad2d20de660aa7d0e8e9443e29c0c9ed5
Contents?: true
Size: 1.24 KB
Versions: 3
Compression:
Stored size: 1.24 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 # 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
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ae-1.7.3 | lib/ae/must.rb |
ae-1.7.2 | lib/ae/must.rb |
ae-1.7.1 | lib/ae/must.rb |