Sha256: 111d85ef620366c9a7763108901d9802e3c27370fa7e036714e4c555e55b0850
Contents?: true
Size: 951 Bytes
Versions: 3
Compression:
Stored size: 951 Bytes
Contents
require 'base64' module SafeYAML class Transform TRANSFORMERS = [ Transform::ToSymbol.new, Transform::ToInteger.new, Transform::ToFloat.new, Transform::ToNil.new, Transform::ToBoolean.new, Transform::ToDate.new ] def self.to_guessed_type(value, quoted=false) return value if quoted if value.is_a?(String) TRANSFORMERS.each do |transformer| success, transformed_value = transformer.transform?(value) return transformed_value if success end end value end def self.to_proper_type(value, quoted=false, tag=nil) case tag when "tag:yaml.org,2002:binary", "x-private:binary", "!binary" decoded = Base64.decode64(value) decoded = decoded.force_encoding(value.encoding) if decoded.respond_to?(:force_encoding) decoded else self.to_guessed_type(value, quoted) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
safe_yaml-0.8.6 | lib/safe_yaml/transform.rb |
safe_yaml-0.8.5 | lib/safe_yaml/transform.rb |
safe_yaml-0.8.4 | lib/safe_yaml/transform.rb |