summaryrefslogtreecommitdiff
path: root/lib/yaml/rubytypes.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/yaml/rubytypes.rb')
-rw-r--r--lib/yaml/rubytypes.rb13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/yaml/rubytypes.rb b/lib/yaml/rubytypes.rb
index bd91bc039d..2a0c31d990 100644
--- a/lib/yaml/rubytypes.rb
+++ b/lib/yaml/rubytypes.rb
@@ -315,25 +315,24 @@ class String
}
elsif self.is_binary_data?
out.binary_base64( self )
- # elsif self =~ /^ |#{YAML::ESCAPE_CHAR}| $/
- # complex = false
+ elsif self =~ /#{YAML::ESCAPE_CHAR}/
+ out.node_text( self, '"' )
else
out.node_text( self, to_yaml_fold )
end
- end
- if not complex
+ else
ostr = if out.options(:KeepValue)
self
elsif empty?
"''"
elsif self =~ /^[^#{YAML::WORD_CHAR}\/]| \#|#{YAML::ESCAPE_CHAR}|[#{YAML::SPACE_INDICATORS}]( |$)| $|\n|\'/
- "\"#{YAML.escape( self )}\""
+ out.node_text( self, '"' ); nil
elsif YAML.detect_implicit( self ) != 'str'
- "\"#{YAML.escape( self )}\""
+ out.node_text( self, '"' ); nil
else
self
end
- out.simple( ostr )
+ out.simple( ostr ) unless ostr.nil?
end
}
end