А посмотреть синглтон классы можем вот так
и вот тут я до сих пор не понял, почему B.singleton_class.methods отрабатывает по другому
instance_methods выводит методы экземпляра класса
methods выводит методы для объекта для которого его вызываем.
ну а методы класса можно получить так puts (B.methods - B.instance_methods)