From 0b9b99c12c0c4a7405f6cfc45a8de197dbb112c2 Mon Sep 17 00:00:00 2001 From: zzak Date: Thu, 2 May 2013 02:24:33 +0000 Subject: * lib/yaml.rb: nodoc EngineManager, add History doc #8344 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/yaml.rb | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'lib/yaml.rb') diff --git a/lib/yaml.rb b/lib/yaml.rb index 44af45a41e..6f60f9d7c5 100644 --- a/lib/yaml.rb +++ b/lib/yaml.rb @@ -14,7 +14,7 @@ YAML = Psych module Psych # :nodoc: # For compatibility, deprecated - class EngineManager + class EngineManager # :nodoc: attr_reader :yamler # :nodoc: def initialize # :nodoc: @@ -25,13 +25,13 @@ module Psych # :nodoc: false end - # Psych is now always used and this method has no effect. + # Psych is always used and this method has no effect. # # This method is still present for compatibility. # # You may still use the Syck engine by installing # the 'syck' gem and using the Syck constant. - def yamler= engine + def yamler= engine # :nodoc: case engine when 'syck' then warn "syck has been removed, psych is used instead" when 'psych' then @yamler = 'psych' @@ -50,9 +50,9 @@ end # # This module provides a Ruby interface for data serialization in YAML format. # -# The underlying implementation is now always the libyaml wrapper Psych. +# The underlying implementation is the libyaml wrapper Psych. # -# See Psych::EngineManager#yamler= for details on using Syck. +# == Usage # # Working with YAML can be very simple, for example: # @@ -64,10 +64,25 @@ end # YAML.dump("foo") # => "--- foo\n...\n" # { :a => 'b'}.to_yaml # => "---\n:a: b\n" # +# == Security +# # Do not use YAML to load untrusted data. Doing so is unsafe and could allow # malicious input to execute arbitrary code inside your application. Please see # doc/security.rdoc for more information. # +# == History +# +# Syck was the original for YAML implementation in Ruby's standard library +# developed by why the lucky stiff. +# +# You can still use Syck, if you prefer, for parsing and emitting YAML, but you +# must install the 'syck' gem now in order to use it. +# +# In older Ruby versions, ie. <= 1.9, Syck is still provided, however it was +# completely removed with the release of Ruby 2.0.0. +# +# == More info +# # For more advanced details on the implementation see Psych, and also check out # http://yaml.org for spec details and other helpful information. module YAML -- cgit v1.2.3