Chapter 12. Behavior-Driven Development and RSpec
"That's crazy enough that it just might work," one of the technicians said, leaning back in his chair.
They had gathered everyone in the main room of the INOC to go over the plan. Back in front of the larger audience, General Operand had returned to his public persona.
"Of course it will work!" he barked. "Matz says it's flawless." He slapped Matz hard on the back, sending him stumbling a few steps forward.
"Not quite flawless," Matz said as he looked up at the General.
"What do you mean 'not flawless'? You said you were sure!"
"Well, for one thing," Matz explained, "we can't be sure what object types they are programmed to expect unless we can get a copy of their spec documents, which isn't possible in so little time. So we'll have to pick something as unexpected as possible. Something totally random."
In a fitting retaliation, Matz had devised a plan to use the compilers' very inability to dynamically modify code against them. It wouldn't kill the compilers, but it would stun them until revived, which also fit the resistance objectives; compilers were just pawns in this game. As far as General Operand was concerned, the compilers were to be "fought with the care with which you'd fight a brother!"
The plan hinged on the hard-typing of their APIs. They had strict orders, a strict API, and strict callbacks. If the other side was going to fight dirty and take advantage of language features, so would the resistance. They could throw any object ...
Get The Art of Rails® now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.