Нет, вы не можете сделать это таким образом.Учтите это:
class C
class << self
def m
puts 'pancakes!'
end
end
def i
puts 'eggs'
end
end
Это дает вам метод класса m
для C
без «self» в объявлении метода.Однако вы можете спросить класс о его методах:
C.methods.include? :m
# true
C.methods.include? :i
# false
C.instance_methods.include? :i
# true
И учитывая, насколько изменчивы классы Ruby, запросить класс - это единственный способ быть уверенным.