def Object.const_missing name
  puts "There is no constant: #{name}"
 end

irb(main):038:0> Foo { puts "here!"}
NoMethodError: undefined method `Foo' for main:Object
        from (irb):38
        from :0

irb(main):039:0> Foo
There is no constant: Foo
=> nil

So the block after Foo keeps Foo from being recognized as a constant? 
(apparently it's recognized as a method instead)

Phil