mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
f2a91397fd
If uplevel keyword is given, the warning message is prepended with caller file and line information and the string "warning: ". The use of the uplevel keyword makes Kernel#warn format output similar to how rb_warn formats output. This patch modifies net/ftp and net/imap to use Kernel#warn instead of $stderr.puts or $stderr.printf, since they are used for printing warnings. This makes lib/cgi/core and tempfile use $stderr.puts instead of warn for debug logging, since they are used for debug printing and not for warning. This does not modify bundler, rubygems, or rdoc, as those are maintained outside of ruby and probably wish to remain backwards compatible with older ruby versions. rb_warn_m code is originally from nobu, but I've changed it so that it only includes the path and lineno from uplevel (not the method), and also prepends the string "warning: ", to make it more similar to rb_warn. From: Jeremy Evans code@jeremyevans.net Signed-off-by: Urabe Shyouhei shyouhei@ruby-lang.org git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61155 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
60 lines
1.7 KiB
Ruby
60 lines
1.7 KiB
Ruby
# frozen_string_literal: false
|
|
##
|
|
# The YAML module is an alias of Psych, the YAML engine for Ruby.
|
|
|
|
begin
|
|
require 'psych'
|
|
rescue LoadError
|
|
warn "It seems your ruby installation is missing psych (for YAML output).\n" \
|
|
"To eliminate this warning, please install libyaml and reinstall your ruby.\n",
|
|
uplevel: 1
|
|
raise
|
|
end
|
|
|
|
YAML = Psych # :nodoc:
|
|
|
|
# YAML Ain't Markup Language
|
|
#
|
|
# This module provides a Ruby interface for data serialization in YAML format.
|
|
#
|
|
# The underlying implementation is the libyaml wrapper Psych.
|
|
#
|
|
# == Usage
|
|
#
|
|
# Working with YAML can be very simple, for example:
|
|
#
|
|
# require 'yaml'
|
|
# # Parse a YAML string
|
|
# YAML.load("--- foo") #=> "foo"
|
|
#
|
|
# # Emit some YAML
|
|
# 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.
|
|
#
|
|
# Psych is maintained by Aaron Patterson on github: https://github.com/tenderlove/psych
|
|
#
|
|
# Syck can also be found on github: https://github.com/tenderlove/syck
|
|
module YAML
|
|
end
|