Каков самый простой способ доступа к включенной защищенной константе класса в контексте ActiveSupport :: Concern?Доступ к включенной защищенной константе класса в ActiveSupport :: Концерн
Примеры классов:
module Printable
extend ActiveSupport::Concern
private
def print_constant
puts MY_CONSTANT
end
end
class Printer
include Printable
def print
print_constant
end
private
MY_CONSTANT = 'Hello'.freeze
end
Это решение выдает ошибку:
NameError: uninitialized constant Printable::MY_CONSTANT
Я знаю альтернативу, которая, кажется, работает:
puts self.class::MY_CONSTANT
Но это Безразлично Не чувствую себя хорошо. :-)
Любые лучшие предложения?
Ваш вопрос был моим ответом. Хотя я согласен с тем, что это не так, ваш вопрос, наконец, дал мне решение, которое по крайней мере сработало. –