Class: Liquidbook::ThemeFileSystem
- Inherits:
-
Object
- Object
- Liquidbook::ThemeFileSystem
- Defined in:
- lib/liquidbook/theme_file_system.rb
Overview
FileSystem implementation for Liquid’s render tag. Resolves template names by searching snippets/ directory.
Constant Summary collapse
- VALID_NAME =
/\A[a-zA-Z0-9_-]+\z/
Instance Method Summary collapse
-
#initialize(theme_root) ⇒ ThemeFileSystem
constructor
A new instance of ThemeFileSystem.
- #read_template_file(template_name) ⇒ Object
Constructor Details
#initialize(theme_root) ⇒ ThemeFileSystem
Returns a new instance of ThemeFileSystem.
9 10 11 |
# File 'lib/liquidbook/theme_file_system.rb', line 9 def initialize(theme_root) @theme_root = theme_root end |
Instance Method Details
#read_template_file(template_name) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/liquidbook/theme_file_system.rb', line 13 def read_template_file(template_name) raise Liquid::FileSystemError, "Illegal template name '#{template_name}'" unless VALID_NAME.match?(template_name) path = full_path(template_name) raise Liquid::FileSystemError, "No such template '#{template_name}'" unless path File.read(path) end |