diff options
author | Paul Kunysch <kunysch@me.com> | 2013-01-06 22:01:31 +0100 |
---|---|---|
committer | Paul Kunysch <kunysch@me.com> | 2013-01-06 22:12:46 +0100 |
commit | ef4f0418a30902e1fa5237a0561927ea3d479b55 (patch) | |
tree | a54b881f12790ca4f10a043b852cf3e1ab3c51e6 | |
parent | bdd8e9d498a7e2d79059ac7d94ba0f34b673f164 (diff) | |
download | psych-ef4f0418a30902e1fa5237a0561927ea3d479b55.tar.gz |
Changed Psych::Visitors::YAMLTree.binary?(string).
* A human-readable representation can be used for ascii_only 8bit-encoded strings.
* String subclasses are binary, even if they are character-encoded.
-rw-r--r-- | lib/psych/visitors/yaml_tree.rb | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/psych/visitors/yaml_tree.rb b/lib/psych/visitors/yaml_tree.rb index 5efb654..ce40a17 100644 --- a/lib/psych/visitors/yaml_tree.rb +++ b/lib/psych/visitors/yaml_tree.rb @@ -221,9 +221,10 @@ module Psych end def binary? string - string.encoding == Encoding::ASCII_8BIT || + (string.encoding == Encoding::ASCII_8BIT && !string.ascii_only?) || string.index("\x00") || - string.count("\x00-\x7F", "^ -~\t\r\n").fdiv(string.length) > 0.3 + string.count("\x00-\x7F", "^ -~\t\r\n").fdiv(string.length) > 0.3 || + string.class != String end private :binary? |