2

そうでなければ失敗する宝石にレスキューステートメントを追加しようとしています。問題は、元の gem のメソッドを正しくオーバーライドしていないことです。どうすればこれを達成できますか?

オリジナルジェム

module OmniAuth
  class Configuration
    include Singleton
      def add_camelization(name, camelized)
        self.camelizations[name.to_s] = camelized.to_s
      end

初期化子/omniauth.rb

module OmniAuth
  class Configuration
    def add_camelization(name, camelized)
      begin
        self.camelizations[name.to_s] = camelized.to_s
      rescue
        puts "No camelization for #{camelized}"
      end
      # ^ This rescue statement is not being called to replace the original gem's method.
    end
  end
end
4

1 に答える 1

8

試す

OmniAuth::Configuration.class_eval do
    def add_camelization(name, camelized)
        ...
    end
end
于 2013-01-21T17:04:28.497 に答える