module Psych

def self.parse_file filename, fallback: false

Raises a Psych::SyntaxError when a YAML syntax error is detected.

Parse a file at +filename+. Returns the Psych::Nodes::Document.
##
def self.parse_file filename, fallback: false
  result = File.open filename, 'r:bom|utf-8' do |f|
    parse f, filename: filename
  end
  result || fallback
end