there is some seriously black art happening here:
i added the following code to callbacks.rb
     def self.append_features(base) #:nodoc:
       super
$i ||= 0
p $i
p caller.last
$i += 1
       ...
       ...
       ...
and then fired up ./script/console.  this is what it prints:
   harp:~/ror/bug > ./script/console
   0
   "./script/console:2"
   Loading development environment.
   0
   "/home/ahoward/bin/irb:13"
   ...
how on earth is that possible!?  what has been done?  just to illustrate it
would be as if this code:
     harp:~/ror/bug > cat a.rb
     module M
       def self::append_features other
         $i ||= 0
         p $i
         p caller.last
         $i += 1
       end
     end
     class C
       include M
       include M
     end
printed out ''0'' and then ''0'' but, of course,
it does not:
     harp:~/ror/bug > irb -r a.rb
     0
     "/home/ahoward/bin/irb:13"
     1
     "/home/ahoward/bin/irb:13"
can someone shed some light on this?
-a
-- 
==============================================================================|
ara [dot] t [dot] howard [at] noaa [dot] gov
| all happiness comes from the desire for others to be happy.  all misery
| comes from the desire for oneself to be happy.
| -- bodhicaryavatara
===============================================================================