Могу ли я использовать модуль #prepend вместо alias_method_chain для исправления этой проблемы?

Я исправляю проблему в жемчужине Devise Token Auth.

У меня это работает с alias_method_chain но мне интересно, могу ли я использовать module#prepend вместо этого в этом сценарии?

Примечание: мы на ruby ​​2.2.x

Существующий:

DeviseTokenAuth::Concerns::User.module_eval do
  def token_validation_response_with_customer_info
    json = token_validation_response_without_customer_info
    # add some customer stuff based on has_role? check
    json
  end

  alias_method_chain :token_validation_response, :customer_info
end

1 ответ

Ты можешь попробовать

DeviseTokenAuth::Concerns::User.prepend(
  Module.new do
    def token_validation_response
      json = super
      # add some customer stuff based on has_role? check
      json
    end
  end
)
Другие вопросы по тегам