Files
swiftpm-stencil/Stencil/TemplateLoader.swift
2015-11-21 14:06:15 +00:00

39 lines
785 B
Swift

import Foundation
import PathKit
// A class for loading a template from disk
public class TemplateLoader {
public let paths: [Path]
public init(paths: [Path]) {
self.paths = paths
}
public init(bundle: [NSBundle]) {
self.paths = bundle.map {
return Path($0.bundlePath)
}
}
public func loadTemplate(templateName: String) -> Template? {
return loadTemplate([templateName])
}
public func loadTemplate(templateNames: [String]) -> Template? {
for path in paths {
for templateName in templateNames {
let templatePath = path + Path(templateName)
if templatePath.exists {
if let template = try? Template(path: templatePath) {
return template
}
}
}
}
return nil
}
}