"obscured by code" <javierg1975 / gmail.com> wrote in message

> No part of the code makes that line true, that line is a precondition
> to the success of the assert once the method is run.

A precondition is a check with no side effects.

>  requires {@items = [:item1, :item2, :item3]}
> is executed *before*
>  add_item => [:item4]
> Look at it as initialization code if you like.

Initialization code will set the @items variable, right?

So your "requires ..." is an executed statement that has the effect of 
making the precondition true, not just a boolean test, correct?

If so, it makes sense. If not, I am still a bit lost.