Некоторые популярные сайты блогов обычно используют квадратные скобки в своих URL, но встроенный в ruby метод URI.parse () блокирует их, вызывая неприятное исключение, согласно:
http://redmine.ruby -lang.org / вопросы / показать / 1466
Я пытаюсь написать простой патч, который изящно обрабатывает URL с квадратной скобкой. Вот что у меня есть:
require 'uri'
module URI
def self.parse_with_safety(uri)
safe_uri = uri.replace('[', '%5B')
safe_uri = safe_uri.replace(']', '%5D')
URI.parse_without_safety(safe_uri)
end
alias_method_chain :parse, :safety
end
Но при запуске выдается ошибка:
/ Библиотека / Ruby / Gems / 1.8 / gems / activesupport-2.3.8 / lib / active_support / core_ext / module / aliasing.rb: 33: в alias_method: NameError: неопределенный метод 'parse' для модуля 'URI'
Как я могу успешно обезьяна-патч URI.parse?