Module: Gem::SafeYAML
- Defined in:
- lib/rubygems/safe_yaml.rb
Overview
This module is used for safely loading YAML specs from a gem. The ‘safe_load` method defined on this module is specifically designed for loading Gem specifications. For loading other YAML safely, please see Psych.safe_load
Constant Summary collapse
- PERMITTED_CLASSES =
%w[ Symbol Time Date Gem::Dependency Gem::Platform Gem::Requirement Gem::Specification Gem::Version Gem::Version::Requirement ].freeze
- PERMITTED_SYMBOLS =
%w[ development runtime ].freeze
Class Method Summary collapse
-
.aliases_enabled=(value) ⇒ Object
:nodoc:.
-
.aliases_enabled? ⇒ Boolean
:nodoc:.
- .load(input) ⇒ Object
- .safe_load(input) ⇒ Object
Class Method Details
.aliases_enabled=(value) ⇒ Object
:nodoc:
29 30 31 |
# File 'lib/rubygems/safe_yaml.rb', line 29 def self.aliases_enabled=(value) # :nodoc: @aliases_enabled = !!value end |
.aliases_enabled? ⇒ Boolean
:nodoc:
33 34 35 |
# File 'lib/rubygems/safe_yaml.rb', line 33 def self.aliases_enabled? # :nodoc: @aliases_enabled end |
.load(input) ⇒ Object
41 42 43 |
# File 'lib/rubygems/safe_yaml.rb', line 41 def self.load(input) ::Psych.safe_load(input, permitted_classes: [::Symbol]) end |
.safe_load(input) ⇒ Object
37 38 39 |
# File 'lib/rubygems/safe_yaml.rb', line 37 def self.safe_load(input) ::Psych.safe_load(input, permitted_classes: PERMITTED_CLASSES, permitted_symbols: PERMITTED_SYMBOLS, aliases: @aliases_enabled) end |