YAML

Hack to JRuby 1.8’s YAML Parser Yecht

This file is always loaded AFTER either syck or psych are already loaded. It then looks at what constants are available and creates a consistent view on all rubys.

Taken from rubygems and modified. See github.com/rubygems/rubygems/blob/master/lib/rubygems/syck_hack.rb

Constants

Syck

Public Class Methods

load(yaml, *original_arguments) click to toggle source
Also aliased as: unsafe_load
Alias for: load_with_options
load_file(file, options={}) click to toggle source
load_file_with_options(file, options={}) click to toggle source
# File lib/safe_yaml.rb, line 19
def self.load_file_with_options(file, options={})
  safe_mode = safe_mode_from_options("load_file", options)
  if safe_mode == :safe
    safe_load_file(file, options_for_safe_load(options))
  else
    unsafe_load_file(file)
  end
end
Also aliased as: load_file
load_with_options(yaml, *original_arguments) click to toggle source
# File lib/safe_yaml.rb, line 4
def self.load_with_options(yaml, *original_arguments)
  filename, options = filename_and_options_from_arguments(original_arguments)
  safe_mode = safe_mode_from_options("load", options)
  arguments = [yaml]

  if safe_mode == :safe
    arguments << filename if SafeYAML::YAML_ENGINE == "psych"
    arguments << options_for_safe_load(options)
    safe_load(*arguments)
  else
    arguments << filename if SafeYAML::MULTI_ARGUMENT_YAML_LOAD
    unsafe_load(*arguments)
  end
end
Also aliased as: load
safe_load(*args) click to toggle source
# File lib/safe_yaml.rb, line 28
def self.safe_load(*args)
  SafeYAML.load(*args)
end
safe_load_file(*args) click to toggle source
# File lib/safe_yaml.rb, line 32
def self.safe_load_file(*args)
  SafeYAML.load_file(*args)
end
unsafe_load(yaml, *original_arguments) click to toggle source
Alias for: load
unsafe_load_file(filename) click to toggle source
# File lib/safe_yaml.rb, line 37
def self.unsafe_load_file(filename)
  # https://github.com/tenderlove/psych/blob/v1.3.2/lib/psych.rb#L296-298
  File.open(filename, 'r:bom|utf-8') { |f| self.unsafe_load(f, filename) }
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.