This won't work though
...
The problem seems to be that the writer is setting the variable @foo
but
the reader is reading the variable @foo?
Serves me right for not properly testing. Here's an eval based
implementation (tested properly this time
class Module
def attr_bool sym
module_eval <<-CODE
def #{sym}?; @#{sym}; end
def #{sym}=(s); @#{sym}=s; end
CODE
end
end