class Foo
def self.settings_map
@@settings_map ||= {}
end

def self.register_setting_get(name, &block)
settings_map[name] ||= {}
settings_map[name][:getter] = block
end
end

class Bar
class << self
def settings_map
@@settings_map ||= {}
end

def register_setting_get(name, &block)
settings_map[name] ||= {}
settings_map[name][:getter] = block
end
end
end

# Works on MRI and Rubinius
Foo.register_setting_get(:blah)

# Fails on Rubinius, works on MRI
Bar.register_setting_get(:blah)