Macros and accessing block-variables (rspec2)

Hi,

I’m trying to create an rspec macro (for rspec2) but it cannot access
variables defined in a before-block.
Am I missing something or is it supposed to be like that?

Here’s a full example: http://gist.github.com/509802


gudleik

The before block and the macro declaration get run in different
contexts. In the before block, self is an instance of the example
group. Your macro declaration runs with self set to the example group
itself.

It’s the difference between an instance variable of a Class instance
(since Classes are objects, too), and an instance variable of an
instance of a class.

Myron

On Aug 06, 2010, at 1:24 am, Myron M. wrote:

It’s the difference between an instance variable of a Class instance
(since Classes are objects, too), and an instance variable of an
instance of a class.

I talked a .Net dev friend of mine through instance ivar + class ivar +
class variables last weekend. His response was something along the
lines of “Woah!” :slight_smile:

Gudleik - the simplest, readable change I can think of is to make the
answer a constant[1]. The answer is really a property of the spec, not
of the examples, so it doesn’t belong in the before block. But I
suspect the example you’ve given is a simplified version of something
more complex, so real-world solution may be different.

HTH

Ash

[1] gist:511087 · GitHub


http://www.patchspace.co.uk/
http://www.linkedin.com/in/ashleymoran