From: Intransition Date: 2010-05-18T22:28:02+09:00 Subject: Re: YAML validation On May 18, 9:13 am, Kevin Austin wrote: > I am sorting through a heap of yaml files looking for the following > fields. > > yml = YAML.load( File.open( yml_file ) ) >     feed_list[ yml['name' ] ] = { >        'description' => yml[ 'description' ] || {}, >        'active'      => yml[ 'active' ], >        'interval'    => yml[ 'interval' ], >        'source_net'  => net >     } > > My problem is that when I encounter a yml file that contains no info (or > worse yaml designed by someone with a limited grasp of yaml) my program > goes splat. > > Any ideas or direction for scanning then skipping bad yaml files. > > I have captured the ruby exceptions but I want to just skip the files > before it comes to that Don't think there is any way to do this. I suppose it might be nice if there were a syntax check function, but it won't be much different than actually trying to parse it. And if you are going to use the result if it parses why would you want to waste time doing so twice? So catching the error is really the best way to go. ~trans