Method: YAML.file?
- Defined in:
- lib/standard/facets/yaml/file.rb
.file?(file) ⇒ Boolean
Provides a simplistic way to check if a file is a YAML formatted file:
YAML.file?('project.yaml') #=> true
YAML.file?('project.xml') #=> false
Note this isn’t perfect. At present it depends on the use use of an initial document separator (eg. ‘—’). With YAML 1.1 the %YAML delaration is supposed to be manditory, so in the future this can be adapted to fit that standard.
16 17 18 19 20 21 22 23 24 |
# File 'lib/standard/facets/yaml/file.rb', line 16 def self.file?(file) File.open(file) do |f| until f.eof? line = f.gets break true if line =~ /^---/ break false unless line =~ /^(\s*#.*?|\s*)$/ end end end |