module Mmtrix::Agent::EncodingNormalizer
Public Class Methods
choose_normalizer()
click to toggle source
# File lib/mmtrix/agent/encoding_normalizer.rb, line 38 def self.choose_normalizer if Mmtrix::LanguageSupport.supports_string_encodings? EncodingNormalizer else IconvNormalizer end end
normalize_object(object)
click to toggle source
# File lib/mmtrix/agent/encoding_normalizer.rb, line 15 def self.normalize_object(object) case object when String normalize_string(object) when Symbol normalize_string(object.to_s) when Array return object if object.empty? object.map { |x| normalize_object(x) } when Hash return object if object.empty? hash = {} object.each_pair do |k, v| k = normalize_string(k) if k.is_a?(String) k = normalize_string(k.to_s) if k.is_a?(Symbol) hash[k] = normalize_object(v) end hash else object end end
normalize_string(raw_string)
click to toggle source
# File lib/mmtrix/agent/encoding_normalizer.rb, line 10 def self.normalize_string(raw_string) @normalizer ||= choose_normalizer @normalizer.normalize(raw_string) end