These warnings are there to help you find typos in your code; in this case it's an instance variable. When you write @diabled you will see a warning about it not being initialized, which helps you track down weird bugs.
Using the idiom is also not possible for boolean values because @a ||= false will always re-evaluate the right part of the expression. Remember that it's actually:
@a = @a || false
Now @a becomes false. So in the second iteration of this statement you evaluate this
@a = false || false
Now assume that the right side part of the expression takes 20 hours to compute.
I snuck in a little bug here to test if you're actually paying attention. Good luck finding it. Tweet at @thijs for for your prize.