From: Charlie Savage Date: 2011-09-02T13:16:44+09:00 Subject: [ruby-core:39231] [Ruby 1.9 - Bug #5264] Commit 33157 Issue #5264 has been updated by Charlie Savage. Ok, can reproduce like this: require 'rubygems' require 'redis-namespace' require 'redis-store' Which when you go look at the gems source ends up like this: # from redis-namespace (lib/redis/namespace.rb) class Redis class Namespace end end # from redis-store (lib/redis/store/namespace.rb) class Redis class Store < self module Namespace end end end I can see why Ruby is complaining, but this code works on 1.8.7 and did work on 1.9.3 until commit 33157. ---------------------------------------- Bug #5264: Commit 33157 http://redmine.ruby-lang.org/issues/5264 Author: Charlie Savage Status: Feedback Priority: Normal Assignee: Category: core Target version: 1.9.3 ruby -v: r33157 It appears this commit: https://github.com/ruby/ruby/commit/43284b6bf8324a762808537d5cd2c0774b662a84 Breaks our test suite, with this error from the redis namespace gem. Here is a trackeback from our Rails app: Namespace is not a module /usr/lib/ruby/gems/1.9.1/bundler/gems/redis-store-b70b9326d083/lib/redis/store/namespace.rb:3:in `' /usr/lib/ruby/gems/1.9.1/bundler/gems/redis-store-b70b9326d083/lib/redis/store/namespace.rb:2:in `' /usr/lib/ruby/gems/1.9.1/bundler/gems/redis-store-b70b9326d083/lib/redis/store/namespace.rb:1:in `' /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require' /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `block in require' /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `block in load_dependency' /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:in `new_constants_in' /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in `load_dependency' /usr/lib/ruby/gems/1.9.1/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:240:in `require' /usr/lib/ruby/gems/1.9.1/bundler/gems/redis-store-b70b9326d083/lib/redis-store.rb:6:in `' Line 6 in redis-store.rb is: require "redis/store/namespace" And then the top of namespace looks like this: class Redis class Store < self module Namespace Not sure if this is an intentional change or not, but a heads up its breaks the gem. Thanks - Charlie Note the ruby -v version attached to the ticket isn't the one I used for testing. -- http://redmine.ruby-lang.org