improve error handling in include tag
* Reduce condition to one-liner * Remove `self` * Implicit return value * Explicit error message for symlinks
This commit is contained in:
parent
b5d25427e5
commit
95719fa4ce
|
@ -51,10 +51,7 @@ eos
|
||||||
def render(context)
|
def render(context)
|
||||||
includes_dir = File.join(context.registers[:site].source, '_includes')
|
includes_dir = File.join(context.registers[:site].source, '_includes')
|
||||||
|
|
||||||
error = self.validate_file(includes_dir)
|
return error if error = validate_file(includes_dir)
|
||||||
unless error.nil?
|
|
||||||
return error
|
|
||||||
end
|
|
||||||
|
|
||||||
source = File.read(File.join(includes_dir, @file))
|
source = File.read(File.join(includes_dir, @file))
|
||||||
partial = Liquid::Template.parse(source)
|
partial = Liquid::Template.parse(source)
|
||||||
|
@ -78,10 +75,8 @@ eos
|
||||||
if !File.exists?(file)
|
if !File.exists?(file)
|
||||||
return "Included file #{@file} not found in _includes directory"
|
return "Included file #{@file} not found in _includes directory"
|
||||||
elsif File.symlink?(file)
|
elsif File.symlink?(file)
|
||||||
return "Included file #{@file} is a symlink"
|
return "Symlink #{@file} must not be included"
|
||||||
end
|
end
|
||||||
|
|
||||||
nil
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue