stdlib/yaml/0/yaml.rbs in rbs-3.2.2 vs stdlib/yaml/0/yaml.rbs in rbs-3.3.0.pre.1
- old
+ new
@@ -1,199 +2 @@
-# <!-- rdoc-file=lib/yaml.rb -->
-# YAML Ain't Markup Language
-#
-# This module provides a Ruby interface for data serialization in YAML format.
-#
-# The YAML module is an alias of Psych, the YAML engine for Ruby.
-#
-# ## 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"
-#
-# As the implementation is provided by the Psych library, detailed documentation
-# can be found in that library's docs (also part of standard library).
-#
-# ## 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 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/ruby/psych
-#
-# Syck can also be found on github: https://github.com/ruby/syck
-#
-module YAML
- # <!--
- # rdoc-file=ext/psych/lib/psych.rb
- # - Psych.dump(o) -> string of yaml
- # - Psych.dump(o, options) -> string of yaml
- # - Psych.dump(o, io) -> io object passed in
- # - Psych.dump(o, io, options) -> io object passed in
- # -->
- # Dump Ruby object `o` to a YAML string. Optional `options` may be passed in to
- # control the output format. If an IO object is passed in, the YAML will be
- # dumped to that IO object.
- #
- # Currently supported options are:
- #
- # `:indentation`
- # : Number of space characters used to indent. Acceptable value should be in
- # `0..9` range, otherwise option is ignored.
- #
- # Default: `2`.
- # `:line_width`
- # : Max character to wrap line at.
- #
- # Default: `0` (meaning "wrap at 81").
- # `:canonical`
- # : Write "canonical" YAML form (very verbose, yet strictly formal).
- #
- # Default: `false`.
- # `:header`
- # : Write `%YAML [version]` at the beginning of document.
- #
- # Default: `false`.
- #
- #
- # Example:
- #
- # # Dump an array, get back a YAML string
- # Psych.dump(['a', 'b']) # => "---\n- a\n- b\n"
- #
- # # Dump an array to an IO object
- # Psych.dump(['a', 'b'], StringIO.new) # => #<StringIO:0x000001009d0890>
- #
- # # Dump an array with indentation set
- # Psych.dump(['a', ['b']], indentation: 3) # => "---\n- a\n- - b\n"
- #
- # # Dump an array to an IO with indentation set
- # Psych.dump(['a', ['b']], StringIO.new, indentation: 3)
- #
- %a{annotate:rdoc:copy:Psych.dump}
- def self.dump: (untyped o, ?indentation: Integer, ?line_width: Integer, ?canonical: bool, ?header: bool) -> String
- | [IO] (untyped o, IO, ?indentation: Integer, ?line_width: Integer, ?canonical: bool, ?header: bool) -> IO
-
- # <!--
- # rdoc-file=ext/psych/lib/psych.rb
- # - load(yaml, permitted_classes: [Symbol], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false)
- # -->
- # Load `yaml` in to a Ruby data structure. If multiple documents are provided,
- # the object contained in the first document will be returned. `filename` will
- # be used in the exception message if any exception is raised while parsing. If
- # `yaml` is empty, it returns the specified `fallback` return value, which
- # defaults to `false`.
- #
- # Raises a Psych::SyntaxError when a YAML syntax error is detected.
- #
- # Example:
- #
- # Psych.load("--- a") # => 'a'
- # Psych.load("---\n - a\n - b") # => ['a', 'b']
- #
- # begin
- # Psych.load("--- `", filename: "file.txt")
- # rescue Psych::SyntaxError => ex
- # ex.file # => 'file.txt'
- # ex.message # => "(file.txt): found character that cannot start any token"
- # end
- #
- # When the optional `symbolize_names` keyword argument is set to a true value,
- # returns symbols for keys in Hash objects (default: strings).
- #
- # Psych.load("---\n foo: bar") # => {"foo"=>"bar"}
- # Psych.load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
- #
- # Raises a TypeError when `yaml` parameter is NilClass. This method is similar
- # to `safe_load` except that `Symbol` objects are allowed by default.
- #
- %a{annotate:rdoc:copy:Psych.load}
- def self.load: (String yaml, ?filename: String | _ToStr | _ToS?, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool) -> untyped
-
- # <!--
- # rdoc-file=ext/psych/lib/psych.rb
- # - load_file(filename, **kwargs)
- # -->
- # Loads the document contained in `filename`. Returns the yaml contained in
- # `filename` as a Ruby object, or if the file is empty, it returns the specified
- # `fallback` return value, which defaults to `false`. See load for options.
- #
- %a{annotate:rdoc:copy:Psych.load_file}
- def self.load_file: (string | _ToPath, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool) -> untyped
-
- # <!--
- # rdoc-file=ext/psych/lib/psych.rb
- # - safe_load(yaml, permitted_classes: [], permitted_symbols: [], aliases: false, filename: nil, fallback: nil, symbolize_names: false, freeze: false, strict_integer: false)
- # -->
- # Safely load the yaml string in `yaml`. By default, only the following classes
- # are allowed to be deserialized:
- #
- # * TrueClass
- # * FalseClass
- # * NilClass
- # * Integer
- # * Float
- # * String
- # * Array
- # * Hash
- #
- #
- # Recursive data structures are not allowed by default. Arbitrary classes can
- # be allowed by adding those classes to the `permitted_classes` keyword
- # argument. They are additive. For example, to allow Date deserialization:
- #
- # Psych.safe_load(yaml, permitted_classes: [Date])
- #
- # Now the Date class can be loaded in addition to the classes listed above.
- #
- # Aliases can be explicitly allowed by changing the `aliases` keyword argument.
- # For example:
- #
- # x = []
- # x << x
- # yaml = Psych.dump x
- # Psych.safe_load yaml # => raises an exception
- # Psych.safe_load yaml, aliases: true # => loads the aliases
- #
- # A Psych::DisallowedClass exception will be raised if the yaml contains a class
- # that isn't in the `permitted_classes` list.
- #
- # A Psych::AliasesNotEnabled exception will be raised if the yaml contains
- # aliases but the `aliases` keyword argument is set to false.
- #
- # `filename` will be used in the exception message if any exception is raised
- # while parsing.
- #
- # When the optional `symbolize_names` keyword argument is set to a true value,
- # returns symbols for keys in Hash objects (default: strings).
- #
- # Psych.safe_load("---\n foo: bar") # => {"foo"=>"bar"}
- # Psych.safe_load("---\n foo: bar", symbolize_names: true) # => {:foo=>"bar"}
- #
- %a{annotate:rdoc:copy:Psych.safe_load}
- def self.safe_load: (String yaml, ?permitted_classes: Array[Class], ?permitted_symbols: Array[Symbol], ?aliases: bool, ?filename: String | _ToStr | _ToS?, ?fallback: untyped, ?symbolize_names: bool, ?freeze: bool) -> untyped
-end
+module YAML = Psych