Better parsing of layout files

Handles empty rules and empty files better now.

Fixes #14
This commit is contained in:
Andy Meneely
2014-12-09 23:14:21 -05:00
parent f8f65f3de7
commit 19808c6464
4 changed files with 16 additions and 2 deletions
+2 -2
View File
@@ -115,7 +115,7 @@ module Squib
thefile = file
thefile = "#{File.dirname(__FILE__)}/layouts/#{file}" unless File.exists?(file)
if File.exists? thefile
yml = @layout.merge(YAML.load_file(thefile))
yml = @layout.merge(YAML.load_file(thefile) || {}) #load_file returns false on empty file
yml.each do |key, value|
@layout[key] = recurse_extends(yml, key, {})
end
@@ -157,7 +157,7 @@ module Squib
# :nodoc:
# @api private
def has_extends?(yml, key)
yml[key].key?('extends')
!!yml[key] && yml[key].key?('extends')
end
# Safeguard against malformed circular extends