class StringTools::Sanitizer::LinkNormalizer
приводит ссылки согласно стандарту, не корёжит www.фермаежей.рф => www.xn–80ajbaetq5a8a.xn–p1ai
Public Instance Methods
call(env)
click to toggle source
# File lib/string_tools.rb, line 187 def call(env) node = env[:node] case node.name when 'a' normalize_link node, 'href' when 'img' normalize_link node, 'src' end end
Private Instance Methods
normalize_link(node, attr_name)
click to toggle source
# File lib/string_tools.rb, line 199 def normalize_link(node, attr_name) return unless node[attr_name] node[attr_name] = Addressable::URI.parse(node[attr_name]).normalize.to_s rescue Addressable::URI::InvalidURIError node.swap node.children end