class Esse::TemplateLoader
Constants
- EXT_PARSER
Public Class Methods
new(directories, extensions: EXT_PARSER.keys)
click to toggle source
# File lib/esse/template_loader.rb, line 15 def initialize(directories, extensions: EXT_PARSER.keys) @directories = Array(directories).map do |dir| dir.is_a?(Pathname) ? dir : Pathname.new(dir) end @extensions = extensions end
Public Instance Methods
read(*patterns)
click to toggle source
Look for files into the @directories using some file pattern.
# File lib/esse/template_loader.rb, line 23 def read(*patterns) path = nil @directories.each do |dir| patterns.find do |pattern| path = Dir[dir.join("#{pattern}.{#{@extensions.join(',')}}")].first break if path end break if path end load(path) if path end
Protected Instance Methods
load(file)
click to toggle source
# File lib/esse/template_loader.rb, line 37 def load(file) parser = EXT_PARSER[File.extname(file).sub(/^\./, '')] return unless parser parser.call(file) rescue MultiJson::ParseError nil end