class Gem::Specification

def self.from_yaml(input)

def self.from_yaml(input)
  Gem.load_yaml
  input = normalize_yaml_input input
  spec = YAML.load input
  if spec && spec.class == FalseClass then
    raise Gem::EndOfYAMLException
  end
  unless Gem::Specification === spec then
    raise Gem::Exception, "YAML data doesn't evaluate to gem specification"
  end
  spec.specification_version ||= NONEXISTENT_SPECIFICATION_VERSION
  spec.reset_nil_attributes_to_default
  spec
end