Я переношу проект с Ruby 1.8.7 на Ruby 2.3 и рельсы с 2 на 4.
У меня есть этот код, который работал в 1.8.7
class_list = []
original_mechanism = ActiveSupport::Dependencies.mechanism
ActiveSupport::Dependencies.mechanism = :load
begin
class_list += load("/tmp/abc.rb")
rescue Exception => e
debug e.backtrace
end
ActiveSupport::Dependencies.mechanism = original_mechanism
мой образец файла abc.rb
class Abc
def ...
end
class Def
...
end
В Ruby 1.8.7 class_list равен [Abc,Def].
В Ruby 2.3 class_list равен [true] — (мне пришлось изменить строку на 'class_list ‹‹ load("/tmp/abc.rb")', чтобы она выдавала этот вывод)
Кто-нибудь из вас знает, как заставить его вернуться по-старому? Все, что мне нужно, это ClassNames классов, загруженных в конце.