Object
# File lib/bacon.rb, line 310 def be(*args, &block) if args.empty? self else block = args.shift unless block_given? satisfy(*args, &block) end end
# File lib/bacon.rb, line 343 def equal(value) self == value end
# File lib/bacon.rb, line 348 def flunk(reason="Flunked") raise Bacon::Error.new(:failed, reason) end
# File lib/bacon.rb, line 345 def identical_to(value) self.equal? value end
# File lib/bacon.rb, line 344 def match(value) self =~ value end
# File lib/bacon.rb, line 333 def method_missing(name, *args, &block) name = "#{name}?" if name.to_s =~ /\w[^?]\z/ desc = @negated ? "not " : "" desc << @object.inspect << "." << name.to_s desc << "(" << args.map{|x|x.inspect}.join(", ") << ") failed" satisfy(desc) { |x| x.__send__(name, *args, &block) } end
# File lib/bacon.rb, line 300 def not(*args, &block) @negated = !@negated if args.empty? self else be(*args, &block) end end
# File lib/bacon.rb, line 322 def satisfy(description="", &block) r = yield(@object) if Bacon::Counter[:depth] > 0 Bacon::Counter[:requirements] += 1 raise Bacon::Error.new(:failed, description) unless @negated ^ r r else @negated ? !r : !!r end end
Generated with the Darkfish Rdoc Generator 2.